程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

pandas近期常見問題總結(一)

編輯:Python

最近在學習《利用python進行數據分析》,在案例實戰過程和使用pandas庫中還存在著許多問題沒有解決,這裡進行總結。

目錄

  • 一、SettingwithCopyWarning問題
  • 二、讀取以 ::為分隔符的csv文件時出現警告
  • 三、將DataFrame寫入excel
  • 四、dataframe轉置

一、SettingwithCopyWarning問題


如上圖所示,出現如上所示的警告,這裡推薦一篇文章:https://www.jianshu.com/p/72274ccb647a
這篇文章很詳細的解釋了出現的原因及解決方案,這是一個鏈式索引的問題。

二、讀取以 ::為分隔符的csv文件時出現警告


這個警告的大概意思就是告訴你:因為“c”引擎不支持正則表達式分隔符(分隔符>1個字符且不同於“\s+”的分隔符被解釋為正則表達式),可以通過指定engine=”python“這個參數來避免此警告。具體的可以復制到翻譯軟件。因為Python語言底層是采用C語言實現的,可以簡單理解為Python是用C寫出來的。這需要大佬進行相關解釋,我也不是很理解這個意思。這裡將代碼改為:

df1=pd.read_csv("movies.dat",sep='::',header=None,engine="python",names=mnames)

就行了,這也是《利用python進行數據分析》書中的一個實例。

三、將DataFrame寫入excel

將dataframe寫入excel可以用pandas的to_excel(path,sheet1)path為路徑,sheet1為表格名稱。但如果要將多個dataframe寫入同一個excel文件,需要用到ExcelWriter()方法

import pandas as pd
#首先創建兩個dataframe
frame=pd.DataFrame({
"data1":random.randn(5),
"data2":random.randn(5),
"key1":["a","a","b","b","a"],
"key2":["one","two","one","two","one"]})
frame2=frame.copy()
writer=pd.ExcelWriter("test.xls")
frame.to_excel(writer,"frame")
frame2.to_excel(writer,"frame2")
writer.save()

這裡創建了兩個dataframe,將其寫入text文件,並將兩個表格的名稱分別命名為frame和frame2。注意最後要執行 writer.save()代碼,不然不會創建文件,只是在緩存中。

如果要將多個dataframe寫入同一張表格,可以利用startcol和startrow這兩個參數來實現

writer=pd.ExcelWriter("test.xls")
frame.to_excel(writer,startrow=2)
frame2.to_excel(writer,startrow=18,startcol=18)
writer.save()
#startrow代表寫入的起始行,startcol代表寫入的起始列

四、dataframe轉置

dataframe也有類似於numpy數組類似的轉置操作。



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved