84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
dataframe的某列fillna如何通过自定义函数的返回值进行填充?自定义函数需要以某几列数据作为参数。类似下面代码的功能怎么实现?df['resultOfab'].fillna(myFunc(df['acolumn'],df['bcolumn']))
貌似只有dataframe才有fillna函数,而且只能指定值作为填充。要么就是只能加减乘除某两列得到新列数据。如果全部重新计算效率又很低。
业精于勤,荒于嬉;行成于思,毁于随。
这个样子吗?有点不是太清晰是要做什么。。。
>>> df 0 1 2 0 1.0 NaN 5.0 1 2.0 3.0 6.0 2 3.0 5.0 7.0 3 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 2 0 1.0 11.0 5.0 1 2.0 3.0 6.0 2 3.0 5.0 7.0 3 4.0 20.0 8.0
或者这样?
>>> df 0 1 2 0 1.0 NaN 5.0 1 2.0 3.0 6.0 2 3.0 5.0 7.0 3 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 2 0 1.0 11.0 5.0 1 2.0 3.0 6.0 2 3.0 5.0 7.0 3 4.0 20.0 8.0
这种是向量式的 a?b:c
a?b:c
这个样子吗?有点不是太清晰是要做什么。。。
或者这样?
这种是向量式的
a?b:c