pandas csv

  • Post author:
  • Post category:其他

选取指定行或列数据

pd. || pd[ ] index为列名,返回对应列的所有值,并带有索引

pd[['name','gender']] #选取多列,多列名字要放在list里

pd[整数] 返回对应行的所有值

pd[0:] #第0行及之后的行,相当于pd的全部数据,注意冒号是必须的

pd[:2] #第2行之前的数据(不含第2行)

pd[0:1] #第0行

pd[1:3] #第1行到第2行(不含第3行)

pd[-1:] #最后一行

pd[-3:-1] #倒数第3行到倒数第1行(不包含最后1行即倒数第1行,这里有点烦躁,因为从前数时从第0行开始,从后数就是-1行开始,毕竟没有-0)

使用列名,选取指定行列数据

pd.loc[index, column_name] 选取指定行和列的数据

pd.loc[0,'name']

pd.loc[0:2, ['name','age']] #选取第0行到第2行,name列和age列的数据, 注意这里的行选取是包含下标的。

pd.loc[[2,3],['name','age']] #选取指定的第2行和第3行,name和age列的数据

pd.loc[pd['gender']=='M','name'] #选取gender列等于M,name列的数据

pd.loc[pd['gender']=='M',['name','age']] #选取gender列等于M,name和age列的数据

不用列名,利用数字定位行和列

df.iloc[0,0] #第0行第0列的数据

df.iloc[1,2] #第1行第2列的数据

df.iloc[ [1,3],0:2 ] #第1行和第3行,从第0列到第2列(不包含第2列)的数据

df.iloc[ 1:3,[1,2] ] #第1行到第3行(不包含第3行),第1列和第2列的数据

CSV文件处理

csv文件的读取:

data=pd.read_csv("filename",sep=' ',header=None,names=['a','b','c'])

sep=' ' 表示文件中数据使用空格作为分隔符,默认为逗号,如果分隔符为逗号则省略此参数

header=None 表示文件中没有列名。若没命名names,则生成从0开始的列索引,且不能用于data索引

names 为从左到右命名data列名 如 names=list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')

data列索引默认为从0开始的数字,data的数据类型为 Dataframe,每列的数据类型为 object

csv文件的写入:

data.to_csv("filename",sep=',',index=False,header=False)

sep 表示输出文件的字段分隔符,默认为逗号

index 表示是否输出行名,默认True

header 表示是否输出列名,默认True

版权声明:本文为sinat_36789271原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。