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文件中,就不包含索引列的信息了。