在不隐式更改列类型的情况下更新DataFrame,可以通过以下步骤实现:
pd.merge()
函数将更新数据与原始DataFrame进行合并。确保指定正确的连接键。pd.DataFrame.update()
函数将更新数据应用到原始DataFrame中。该函数会根据连接键匹配的行来更新原始DataFrame的对应列。以下是一个示例代码:
import pandas as pd
# 原始DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# 更新数据的DataFrame
update_df = pd.DataFrame({'A': [4, 5], 'B': ['d', 'e']})
# 合并更新数据
merged_df = pd.merge(df, update_df, on='A', how='left')
# 将更新应用到原始DataFrame
df.update(merged_df)
# 打印更新后的DataFrame
print(df)
这样,原始DataFrame中与更新数据DataFrame中相同连接键的行将被更新,而不会更改列的数据类型。
请注意,这只适用于更新已存在的行。如果要添加新行或删除行,可以使用其他方法,如pd.concat()
或pd.DataFrame.append()
。
领取专属 10元无门槛券
手把手带您无忧上云