【问题标题】:Merge data frame using another row if one row has null value如果一行具有空值,则使用另一行合并数据框
【发布时间】:2020-09-14 19:13:39
【问题描述】:

我有两个需要合并的数据框(两个数据框都与所附图像相似)。

我想先尝试在 Res ID 上合并,但如果特定行在 Res ID 中有 Null 值,我希望使用 Geohash_7 列合并该行。有什么好办法吗?

基本上我想在一个列上合并,但如果该列包含空值,我想为该特定行使用不同的列进行合并。

【问题讨论】:

    标签: python pandas dataframe join merge


    【解决方案1】:

    当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
    

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 2019-02-28
      • 2022-10-09
      相关资源
      最近更新 更多