繁体   English   中英

用数组的每个值替换pandas数据框的每一列

[英]replace each column of pandas dataframe with each value of array

df就是这样,

     A    B    C
0  NaN  150 -150
1  100  NaN  150
2 -100 -150  NaN
3 -100 -150  NaN
4  NaN  150  150
5  100  NaN -150

另一个数组是array([1、2、3])

我想用数组中的每个值替换每列中的非空值,结果将是,

      A     B     C
0   NaN   2     3
1   1     NaN   3
2   1     2     NaN
3   1     2     NaN
4   NaN   2     3
5   1     NaN   3

如何以简单的方式实现这一目标? 我写类似

df[df.notnull()] = np.array([1,2,3])
df[df.notnull()].loc[:,] = np.array([1,2,3])

但所有人都无法工作。

怎么样:

>>> (df * 0 + 1) * arr
    A   B   C
0 NaN   2   3
1   1 NaN   3
2   1   2 NaN
3   1   2 NaN
4 NaN   2   3
5   1 NaN   3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM