日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python将第一列替换_python-通过将另一列与第二个DataFrame进行比较来替换一列中的值...

發(fā)布時間:2025/6/17 python 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python将第一列替换_python-通过将另一列与第二个DataFrame进行比较来替换一列中的值... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在嘗試使用涉及搜索另一個DataFrame的特定條件來替換df DataFrame的air_store_id列中的NaN值:

data = { 'air_store_id': [ 'air_a1', np.nan, 'air_a3', np.nan, 'air_a5' ],

'hpg_store_id': [ 'hpg_a1', 'hpg_a2', np.nan, 'hpg_a4', np.nan ],

'Test': [ 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon' ]

}

df = pd.DataFrame(data)

display(df)

當在df.air_store_id中找到NaN時,我想使用df.hpg_store_id中的值(如果有)將其與另一個名為id_table_df的 dataframe 的同一列進行比較,并檢索其air_store_id.

這是id_table_df的樣子:

ids_data = { 'air_store_id': [ 'air_a1', 'air_a4', 'air_a3', 'air_a2' ],

'hpg_store_id': [ 'hpg_a1', 'hpg_a4', 'hpg_a3', 'hpg_a2' ] }

id_table_df = pd.DataFrame(ids_data)

display(id_table_df)

簡而言之,對于df.air_store_id中的每個NaN,通過將df.hpg_store_id與id_table_df.hpg_store_id進行比較,將其替換為id_table_df.air_store_id中的相應等價物.

在這種情況下,id_table_df最終用作查找表.產生的DataFrame如下所示:

我使用以下指令進行了tried to merge them的操作,但引發(fā)了錯誤:

df.loc[df.air_store_id.isnull(), 'air_store_id'] = df.merge(id_table_df, on='hpg_store_id', how='left')['air_store_id']

錯誤信息:

KeyError Traceback (most recent call last)

~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)

2441 try:

-> 2442 return self._engine.get_loc(key)

2443 except KeyError:

...

...

...

KeyError: 'air_store_id'

問題1:我該如何完成?

問題2:是否有辦法同時對這兩列(air_store_id和hpg_store_id)執(zhí)行此操作?如果可能的話,我不必為每個列分別運行合并.

總結

以上是生活随笔為你收集整理的python将第一列替换_python-通过将另一列与第二个DataFrame进行比较来替换一列中的值...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。