python - 有条件地替换丢失的数据 pandas

标签 python pandas

假设我有两个数据集:

答:

ATime          X       Y      Z
1.2            2      15      2
1.4            3      12      1
1.5            1      10      6
1.6            2       9     10
1.9            1       1      9

B:

Btime         C       D      E
1.2           12      25     12
1.3           13      22     11
1.4           11      20     16
1.7           12      29     12
1.9           11      21     19
2.0           08      10     11
2.4           10      12     15

我正在合并到一个如下所示的数据集:

Btime         C       D      E         ATime          X       Y       Z
1.2           12      25     12          1.2           2      15      2         
1.3           13      22     11          1.4           1      10      6
1.4           11      20     16          1.5           2       9     10
1.7           12      29     12          1.6           1       1      9
1.9           11      21     19          1.9           0       0      0  
2.0           08      10     11           0            0       0      0 
2.4           10      12     15           0            0       0      0 

有没有一种简单的方法可以将 Atime 中的两个 0 替换为 Btime 中列出的时间(2.0, 2.4)?

...

现在我正在使用这样的方法合并 pandas 中的两个数据集:

a = pd.read_csv("a")
b = pd.read_csv("b")
merged = a.join(b, how="outer")
filled = merged.fillna(0)

但这只是给了我 0 的情况。

最佳答案

是的,您可以将一系列传递给fillna:

merged["Atime"] = merged["Atime"].fillna(b.Btime)

关于python - 有条件地替换丢失的数据 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25177232/

相关文章:

Python Pandas 数据框减去累积列

python - 在按天和小时分组后重命名 Pandas 列

python - 在在线IDE上使用Python的GUI?

python - 水平滚动 Kivy 标签

python - 识别音频的音调

python - 尝试重命名 tf.keras 上的预训练模型时出错

python - 如何解决comerror : PivotFields method of PivotTable class failed?

python - 在python中将字典转换为排序字典

python - 使用 Pandas 计算数据框中列中出现的数字

python - 从 OLS 回归结果中获取偏斜和峰度