【问题标题】:Pandas for each row in some columns based on other columns基于其他列的某些列中每一行的 Pandas
【发布时间】:2022-01-01 11:08:00
【问题描述】:

我有一个 DataFrame 在一列或多列中有缺失值,我正在尝试根据同一记录的另外两列中的值查找缺失值(即填充 city_namecity_id 列基于latlong 列中的坐标。)

city_name city_id lat long
NaN NaN -121.77 37.24
NaN NaN -122.77 38.24
NaN NaN -123.77 39.24
new york c1 -121.77 37.24
paris c2 -122.77 38.24
london c3 -123.77 39.24

我该怎么做?

【问题讨论】:

    标签: python pandas nan


    【解决方案1】:

    试试groupbyfillna

    df = df.fillna(df.groupby(["lat", "long"]).transform("first"))
    
    >>> df
    
      city_id city_name     lat   long
    0      c1  new york -121.77  37.24
    1      c2     paris -122.77  38.24
    2      c3    london -123.77  39.24
    3      c1  new york -121.77  37.24
    4      c2     paris -122.77  38.24
    5      c3    london -123.77  39.24
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      • 2019-01-10
      • 1970-01-01
      • 2021-02-16
      • 2023-01-05
      • 2021-12-30
      • 1970-01-01
      相关资源
      最近更新 更多