我有一个类似的数据帧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',...])