我對 python 比較陌生,我目前正試圖通過探索回圈來讓我的生活更輕松。
我有幾個資料集,我希望將它們連接起來,但在此之前,我想添加一個帶有原始資料集名稱的列。
以前我已經單獨完成了這個:
df1["location"]= "Norfolk"
df2["location"]= "Devon"
這次有大量我需要處理的資料幀。
frames=[df1,df2,df3,df4...]
for i in frames:
i["location"]=i
這添加了列,但不是用相應的名稱填充它,例如“df1”,而是添加了所有列標題。我嘗試使用 str(i) 并沒有發生任何事情。
我已經嘗試了各種其他方法,使用混合堆疊流答案來解決相關問題,但仍然無法做到這一點。這些包括使用串列和字典創建空列并嘗試各種附加。
我似乎無法讓它發揮作用。
我想我是在想它會這么簡單。有沒有人有任何想法?或針對此類的任何“最佳作業實踐”?
如果它有幫助,則列填充與 df 名稱相同。即 df1['location'] 應填寫“df1”
uj5u.com熱心網友回復:
You cannot assign i to i["location"] as it is not of type string, it is actually a dataframe object. You need to have another list of names for each dataframe. You could also generate this dynamically in your program wherever you are initializing the dataframe.
So something like:
frames = [df1, df2, df3, df4, ...]
frame_names = ['df1', 'df2', 'df3', 'df4', ...]
for i in range(len(frames)):
frames[i]["location"] = frame_names[i]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/446322.html
上一篇:TDBGrid,字符“?”繪制為“..”,具有某些區域設定
下一篇:遍歷檔案但忽略Bash中的前兩行
