pandas数据帧用相同大小的对象替换整个列



我有一个类似的数据帧df1

A B
1 2 3
2 9 8

和对象ob(dtype:object(

1 5
2 4

df1['B'] = ob替换数据帧中的列B是不起作用的,尽管数据帧的所有列也是对象,正如df1.dtypes告诉我的,并且它们具有相同的长度。我做错了什么?

如果不知道ob对象是如何生成的,很难告诉您出了什么问题,对象dtype有一个非常广泛的定义。如果您可以将ob对象转换为pandas数据帧,那么替换列就很容易了:

t = pd.DataFrame([[2,3],[9,8]],columns = ['A','B'])    
o = pd.DataFrame([[5],[4]])
t['B'] = o
print(t)

产生

A  B
0  2  5
1  9  4

我不知道是否可以用另一列替换一列,但这里有一个替换值的方法。

df['column name'] = df['column name'].replace(['1st old value','2nd old value',...],['1st new value','2nd new value',...])

最新更新