[英]Pandas merge how to avoid unnamed column
我想要合並兩個DataFrame:
DataFrame A columns: index, userid, locale (2000 rows)
DataFrame B columns: index, userid, age (300 rows)
當我執行以下操作時:
pd.merge(A, B, on='userid', how='outer')
我有一個包含以下列的DataFrame:
index,Unnamed:0,userid,locale,age
index
列和Unnamed:0
列完全相同。 我猜Unnamed:0
列是DataFrame B的索引列。
我的問題是:在合並兩個DF時,有沒有辦法避免這個Unnamed
列?
之后我可以刪除Unnamed
列,但只是想知道是否有更好的方法來做到這一點。
總之,您正在做的是將索引保存到文件,當您從文件中讀回時,先前保存為index
的列將作為常規列加載。
有幾種方法可以解決這個問題:
方法1
將pandas.DataFrame
保存到磁盤時,請使用index=False
如下所示:
df.to_csv(path, index=False)
方法2
從文件讀取時,您可以定義要用作索引的列,如下所示:
df = pd.read_csv(path, index_col='index')
方法3
如果方法#2由於某種原因不適合您,您可以隨后將列設置為稍后用作索引,如下所示:
df.set_index('index', inplace=True)
在此之后,您的datafame應如下所示:
userid locale age
index
0 A1092 EN-US 31
1 B9032 SV-SE 23
我希望這有幫助。
將DataFrame保存為CSV文件時( df.to_csv('...', index=False)
)或者如果必須處理無法更改/編輯的CSV文件,請使用usecols
參數:
A = pd.read_csv('/path/to/fileA.csv', usecols=['userid','locale'])
為了擺脫Unnamed:0
列......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.