pandas實戰

1,在一個目錄下讀取多個文件
  1. path ="/mnt/hgfs/tools/"
  2. listfile =["1.csv","2.csv","3.csv","4.csv"]
  3. for i in listfile:
  4. train_data =pd.read_csv(path+i)
得到的train_data是一個DataFrame

2,定義一個DataFrame,獲取DataFrame中第二行,和第二列的值
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. print(df.iloc[1:2,[1]])

3,遍歷一個DataFrame,如果發現該DataFrame中的第五列中,某個值的絕對值大於800,就記錄該行的索引。
  1. target =0
  2. for index,row in dataframe.iterrows():
  3. if abs(int(row))>800:
  4. target=index
  5. break
4,修改一個DataFrame的列名
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. df.columns=("aa","bb","cc")
  3. print(df)
5,計算DataFrame每列的均值,標準差,最大值,最小值
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. print(df.mean())#均值
  3. print(df.std())#標準差
  4. print(df.max())#最大值
  5. print(df.min())#最小值
6,轉置一個DataFrame
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. print(df)
  3. print(df.T)
7,橫向擴展一個DataFrame,當擴展的列和已經存在的列,列名衝突時,可以通過df[df.columns+"1"]手動設置新增列的列名。如果不設置,會覆蓋列名相同的列。
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. print(df)
  3. df[df.columns+"1"]=df
  4. print(df)

8,縱向擴展一個DataFrame,將一個DataFrame中的數據,添加到另一個DataFrame中。
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. newdf=pd.DataFrame({'a':[11],'b':[22],'c':[33]})
  3. print(df)
  4. df=[df,newdf]
  5. df=pd.concat(df,ignore_index=True)
  6. print(df)
將newdf插入到df中,因爲newdf中的列名和df中的列名相同,所以,不會創建新的列。
意:
pd.concat()的方法中加入ignore_index=True這個參數,這樣新生成的DataFrame的索引就會按順序排列。同時要注意單詞大小寫問題,這裏的語法是大小寫敏感的。

9,將一個list或DataFrame插入到另一個DataFrame的第一列中。
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. ll=pd.DataFrame({'ll':[4,4,4,4]})
  3. listdata=[5,5,5,5]
  4. df.insert(0,'label',ll)
  5. df.insert(0,'list',listdata)
  6. print(df)
注意:插入的DataFrame只能包含一列,如果包含多列會報錯。

10,將一個DataFrame輸出到csv文件中
  1. df=pd.DataFrame({'a':[1,1,1,1],'b':[2,2,2,2],'c':[3,3,3,3]})
  2. df.to_csv("/mnt/hgfs/tools/result.csv",index = False)
注意:df.to_csv()方法中加上index= False,在生成的csv文件中,就不包含索引列的信息了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章