我正在使用代码使用列表更新我的专栏。只要列表长度比df索引短,它就可以工作,因为我正在使用一种变通方法代码,即通过使用pd.series更新列。这就是我的意思。
import pandas as pd
data = [
['a' , 'Hello'],
['b', 'Hi There'],
['c', 'Hola'],
['d']
]
df = pd.DataFrame(data, columns=['ColA', 'ColB'])
temp = list(df['ColB'].dropna())
temp.append('Sup')
temp.append('Chao')
df['ColB'] = pd.Series(temp)
print(temp)
df
输出:
['Hello', 'Hi There', 'Hola', 'Sup', 'Chao']
Out[1]:
ColA ColB
0 a Hello
1 b Hi There
2 c Hola
3 d Sup
列表中有5个元素,但是由于原始帧的索引长度为4,因此它不包含最后一个元素“ Chao”。
答案 0 :(得分:0)
col = 'ColB'
temp = list(df[col].dropna())
df = df.drop(columns= col )
temp.append('Sup')
temp.append('Chao')
pd.concat([df, pd.DataFrame(temp).rename(columns ={0:'ColB'})], axis=1 )
ColA ColB
0 a Hello
1 b Hi There
2 c Hola
3 d Sup
4 NaN Chao
这可能效率不高,但是您可以删除列,追加列表,然后在将列重命名回原始名称时使用concat。