Pandas将len比df长的pd序列分配给该df中的col

fdbelqdn  于 2023-09-29  发布在  其他
关注(0)|答案(2)|浏览(101)
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
new_series = pd.Series([7, 8,9,10], name='C')
df['B'] = new_series

在此代码中,列“B”不会被新系列替换。所以我想让df

df["B"]=[1, 2, 3,nan]
df["B"]=[7, 8,9,10]
fkvaft9z

fkvaft9z1#

使dfnew_series之间的索引一致,然后分配所需的列:

df.reindex(new_series.index).assign(B=new_series)
A   B
0  1.0   7
1  2.0   8
2  3.0   9
3  NaN  10
izkcnapc

izkcnapc2#

一个可能的解决方案,基于pandas.concat

pd.concat([df.iloc[:,:-1], new_series.rename('B')], axis=1)

输出量:

A   B
0  1.0   7
1  2.0   8
2  3.0   9
3  NaN  10

相关问题