国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python - pandas dataframe如何對某列的空數據位置進行update?update的函數是自定義的,參數是同一行的另外兩列數據

瀏覽:138日期:2022-09-13 18:11:37

問題描述

dataframe的某列fillna如何通過自定義函數的返回值進行填充?自定義函數需要以某幾列數據作為參數。類似下面代碼的功能怎么實現?df[’resultOfab’].fillna(myFunc(df[’acolumn’],df[’bcolumn’]))

貌似只有dataframe才有fillna函數,而且只能指定值作為填充。要么就是只能加減乘除某兩列得到新列數據。如果全部重新計算效率又很低。

問題解答

回答1:

這個樣子嗎?有點不是太清晰是要做什么。。。

>>> df 0 1 20 1.0 NaN 5.01 2.0 3.0 6.02 3.0 5.0 7.03 4.0 NaN 8.0>>> def dfunc(df1, df2):... return df1 + 2 * df2...>>> df[1] = df[1].fillna(dfunc(df[0], df[2]))>>> df 0 1 20 1.0 11.0 5.01 2.0 3.0 6.02 3.0 5.0 7.03 4.0 20.0 8.0

或者這樣?

>>> df 0 1 20 1.0 NaN 5.01 2.0 3.0 6.02 3.0 5.0 7.03 4.0 NaN 8.0>>> def d_func(df1, df2):... return df1 + df2 * 2...>>> df[1] = np.where(df[1].isnull(), d_func(df[0], df[2]), df[1])>>> df 0 1 20 1.0 11.0 5.01 2.0 3.0 6.02 3.0 5.0 7.03 4.0 20.0 8.0

這種是向量式的 a?b:c

標簽: Python 編程
主站蜘蛛池模板: 梧州市| 霍邱县| 武宁县| 天气| 上高县| 盱眙县| 灌阳县| 望江县| 温泉县| 迁安市| 壶关县| 延津县| 安多县| 呼图壁县| 淮安市| 南城县| 达拉特旗| 精河县| 成武县| 健康| 泽普县| 毕节市| 蛟河市| 卢氏县| 教育| 江山市| 长沙市| 济阳县| 新巴尔虎右旗| 屏山县| 淄博市| 黄山市| 安泽县| 铁岭市| 岳西县| 文安县| 千阳县| 玛纳斯县| 西青区| 登封市| 门头沟区|