我有一個包含 902 列的資料框。我想用存盤在串列中的值替換第 0 行從第 214 列到第 902 列的所有值。例如:
我有一個這樣的串列:
list_a=['item0','item1','item2', 'item3'....'item 688']
我有一個這樣的資料框:
item0 item1 item2 item3 ...item688
0 x. y. z. w. i
1 x. y. z. w. i
2 x. y. z. w. i
3 x. y. z. w. i
4 x. y. z. w. i
我想要的輸出是:
item0 item1 item2 item3 ...item688
0 item0 item1 item2 item3 ...item688
1 x. y. z. w. i
2 x. y. z. w. i
3 x. y. z. w. i
4 x. y. z. w. i
注意:串列中存盤的專案也是214到902的資料框列的名稱
我試過了,但這不起作用:
df.iloc[0,214:902] = list_a
我怎樣才能實作這個目標?我感謝任何幫助!
uj5u.com熱心網友回復:
好的,這比您的解決方案適用于這個簡單的測驗非常奇怪:
import pandas as pd
df = pd.DataFrame({
'colA':[True, False, False],
'colB': [1, 2, 3],
'colc':[True, False, False],
'colD': [1, 2, 3]
})
df.iloc[0, 1:3] = ['test 1', 'test 2']
生成的資料框從:
colA colB colc colD
0 True 1 True 1
1 False 2 False 2
2 False 3 False 3
到:
colA colB colc colD
0 True test 1 test 2 1
1 False 2 False 2
2 False 3 False 3
如果我沒記錯的話,那會解決你的問題嗎?您能否再次檢查或驗證您的結果?
您的 iloc 命令可能會出現問題,因為如果您還想更改第 902 列,則必須說df.iloc[0, 212:903]. 您可以檢查len(df.iloc[0, 1:3])并len(list_a)驗證它們是否具有相同的長度。
uj5u.com熱心網友回復:
我的解決方案有效:
df.iloc[0,214:902]= list_a
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/479703.html
