版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sun11462/article/details/55517393
1,在一个目录下读取多个文件
path ="/mnt/hgfs/tools/"
listfile =["1.csv","2.csv","3.csv","4.csv"]
for i in listfile:
train_data =pd.read_csv(path+i)
得到的train_data是一个DataFrame
2,定义一个DataFrame,
获取DataFrame中第二行,和第二列的值
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
print(df.iloc[1:2,[1]])
3,遍历一个DataFrame,如果
发现
该DataFrame中的第五列中,某个值的绝对值大于800,就记录该行的索引。
target =0
for index,row in dataframe.iterrows():
if abs(int(row))>800:
target=index
break
4,修改一个DataFrame的列名
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
df.columns=("aa","bb","cc")
print(df)
5,计算DataFrame每列的均值,标准差,最大值,最小值
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
print(df.mean())#均值
print(df.std())#标准差
print(df.max())#最大值
print(df.min())#最小值
6,转置一个DataFrame
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
print(df)
print(df.T)
7,横向扩展一个DataFrame,当扩展的列和已经存在的列,列名冲突时,可以通过
df
[
df
.
columns
+
"1"
]
手动设置新增列的列名。如果不设置,会覆盖列名相同的列。
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
print(df)
df[df.columns+"1"]=df
print(df)
8,纵向扩展一个DataFrame,将一个DataFrame中的数据,添加到另一个DataFrame中。
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
newdf=pd.DataFrame({'a':[11],'b':[22],'c':[33]})
print(df)
df=[df,newdf]
df=pd.concat(df,ignore_index=True)
print(df)
将newdf插入到df中,因为newdf中的列名和df中的列名相同,所以,不会创建新的列。
注意:
pd
.
concat()的方法中加入ignore_index=True这个参数,这样新生成的DataFrame的索引就会按顺序排列。同时要注意单词大小写问题,这里的语法是大小写敏感的。
9,将一个list或DataFrame插入到另一个DataFrame的第一列中。
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
ll=pd.DataFrame({'ll':[4,4,4,4]})
listdata=[5,5,5,5]
df.insert(0,'label',ll)
df.insert(0,'list',listdata)
print(df)
注意:插入的DataFrame只能包含一列,如果包含多列会报错。
10,将一个DataFrame输出到csv文件中
df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
df.to_csv("/mnt/hgfs/tools/result.csv",index = False)
注意:
df
.
to_csv()方法中
加上index= False,在生成的csv文件中,就不包含索引列的信息了。