我有两个名为df
和df_reference
的数据帧,其中包含以下信息:
df df_reference
col1 col2 col1 col2
A 10 A 15
B 25 B 33
C 30 C 20
A 12
我想基于col1
比较这两个数据帧。
如果df_reference
中的值大于df.col2
,我想用df_reference.col2
替换df.col2
的值。你知道吗
预期输出为:
df
col1 col2
A 15
B 33
C 30
A 15
我试过:
dict1 = {'a':'15'}
df.loc[df['col1'].isin(dict1.keys()), 'col2'] = sams['col1'].map(dict1)
我可以建议您首先基于“col1”进行合并,然后应用一个函数生成一个新列,该列的值大于两个“col2”。那就把没用的柱子扔了!你知道吗
df = df.merge(df_reference, left_on='col1', right_on='col1') df['col2'] = df.apply(greaterValue, axis=1) df = df.loc[:,['col1','col2']]
使用由^{} 创建的^{} by } 替换:
Series
,如果某些值不匹配,则用^{相关问题 更多 >
编程相关推荐