【发布时间】:2020-09-14 19:13:39
【问题描述】:
我有两个需要合并的数据框(两个数据框都与所附图像相似)。
我想先尝试在 Res ID 上合并,但如果特定行在 Res ID 中有 Null 值,我希望使用 Geohash_7 列合并该行。有什么好办法吗?
基本上我想在一个列上合并,但如果该列包含空值,我想为该特定行使用不同的列进行合并。
【问题讨论】:
标签: python pandas dataframe join merge
我有两个需要合并的数据框(两个数据框都与所附图像相似)。
我想先尝试在 Res ID 上合并,但如果特定行在 Res ID 中有 Null 值,我希望使用 Geohash_7 列合并该行。有什么好办法吗?
基本上我想在一个列上合并,但如果该列包含空值,我想为该特定行使用不同的列进行合并。
【问题讨论】:
标签: python pandas dataframe join merge
当Geohash_7 列有空值时,您可以使用pd.Series.fillna() 来填充nan 值。
>>> df = pd.DataFrame({'Geohash_7': ['ttnf48s', 'ttnccw3'], 'Geohash_8': ['ttnf48sj', 'ttnccw3r'], 'Res ID': [np.nan, 217]})
>>> df
Geohash_7 Geohash_8 Res ID
0 ttnf48s ttnf48sj NaN
1 ttnccw3 ttnccw3r 217.0
>>> df['Res ID'].fillna(df.Geohash_7)
0 ttnf48s
1 217
Name: Res ID, dtype: object
【讨论】: