gpt4 book ai didi

python - pandas - 根据列值添加缺失的行以具有 linspace

转载 作者:行者123 更新时间:2023-12-05 08:40:38 24 4
gpt4 key购买 nike

我有一个像这样的 Pandas 数据框

     a   b  c
0 0.5 10 7
1 1.0 6 6
2 2.0 1 7
3 2.5 6 -5
4 3.5 9 7

并且我想在某个步骤的基础上填充关于“a”列的缺失列。在这种情况下,给定步长 0.5,我想用缺失值填充 'a' 列,即 1.5 和 3.0,并将其他列设置为空,以获得以下结果。

     a     b    c
0 0.5 10.0 7.0
1 1.0 6.0 6.0
2 1.5 NaN NaN
3 2.0 1.0 7.0
4 2.5 6.0 -5.0
5 3.0 NaN NaN
6 3.5 9.0 7.0

使用 pandas 或其他库(如 numpy 或 scipy)最干净的方法是什么?

谢谢!

最佳答案

通过 numpy.arange 创建数组,然后通过 set_index 创建 index最后reindexreset_index :

step= .5
idx = np.arange(df['a'].min(), df['a'].max() + step, step)
df = df.set_index('a').reindex(idx).reset_index()
print (df)
a b c
0 0.5 10.0 7.0
1 1.0 6.0 6.0
2 1.5 NaN NaN
3 2.0 1.0 7.0
4 2.5 6.0 -5.0
5 3.0 NaN NaN
6 3.5 9.0 7.0

关于python - pandas - 根据列值添加缺失的行以具有 linspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54905907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com