久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:141日期: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 編程
主站蜘蛛池模板: 三亚市| 林周县| 乌兰察布市| 奉节县| 平邑县| 长子县| 沂南县| 自贡市| 奉贤区| 出国| 吉水县| 泗阳县| 温宿县| 晋江市| 太原市| 宜城市| 离岛区| 滁州市| 通道| 瓦房店市| 慈溪市| 房山区| 双牌县| 玉田县| 三亚市| 义乌市| 双牌县| 宁远县| 乌苏市| 泾川县| 隆尧县| 城固县| 桃江县| 湖州市| 门源| 嘉黎县| 邛崃市| 宜黄县| 清丰县| 漾濞| 乌恰县|