[英]How to append/update new values to the rows of a existing csv file from a new csv file as a new column in python using pandas or something else
[英]How to update the last column value in all the rows in csv file using python(pandas)
我正在嘗試使用 Pandas 更新 csv 文件中所有行的最后一列值。 但是在更新值時,其他列值正在下降。
file = r'Test.csv'
# Read the file
df = pd.read_csv(file, error_bad_lines=False)
# df.at[3, "ingestion"] = '20'
df.set_value(1, "ingestion", '30')
df.to_csv("Test.csv", index=False, sep='|')
使用DataFrame.iloc
和-1
來選擇最后一列,使用:
來選擇所有行:
df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
print (df)
A B C D E F
0 a 4 7 1 5 a
1 b 5 8 3 3 a
2 c 4 9 5 6 a
3 d 5 4 7 9 b
4 e 5 2 1 2 b
5 f 4 3 0 4 b
df.iloc[:, -1] = '20'
print (df)
A B C D E F
0 a 4 7 1 5 20
1 b 5 8 3 3 20
2 c 4 9 5 6 20
3 d 5 4 7 9 20
4 e 5 2 1 2 20
5 f 4 3 0 4 20
編輯:
要通過最后一個編輯值交換-1
更新所有行:
並通過DataFrame.iat
獲取最后一列值:
df.iloc[-1, :] = df.iat[-1, -1]
print (df)
A B C D E F
0 a 4 7 1 5 a
1 b 5 8 3 3 a
2 c 4 9 5 6 a
3 d 5 4 7 9 b
4 e 5 2 1 2 b
5 b b b b b b
pd.DataFrame.set_value
不適用於設置列中的所有值。 根據文檔,它用於在特定的行和列標簽組合處設置標量。
此外,由於v0.21,它已被棄用,取而代之的.at
/ .iat
存取。
相反,您可以通過提取最終列標簽直接設置值,假設您沒有重復的列名:
df[df.columns[-1]] = '20'
或者,更直接地,您可以使用iloc
訪問器:
df.iloc[:, -1] = '20'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.