gpt4 book ai didi

python - 如何在 python 数据帧中的确定行之后添加一个空行?

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:52 24 4
gpt4 key购买 nike

我在 python 中处理一个巨大的数据框,有时我需要在数据框的确定位置添加一个空行或几行。对于这个问题,我创建了一个小数据框 df 以显示我想要实现的目标。

>  df = pd.DataFrame(np.random.randint(10, size = (3,3)), columns =
> ['A','B','C'])
> A B C
> 0 4 5 2
> 1 6 7 0
> 2 8 1 9

假设我需要添加一个空行,如果我在“C”列中有一个零值。这里应该在第二行之后添加空行。所以最后我想要一个新的数据框,例如:

>new_df
> A B C
> 0 4 5 2
> 1 6 7 0
> 2 nan nan nan
> 3 8 1 9

我尝试使用 concat 和 append,但没有得到我想要的结果。请问你能帮帮我吗?

最佳答案

你可以这样试试:

l = df[df['C']==0].index.tolist()
for c, i in enumerate(l):
dfs = np.split(df, [i+1+c])
df = pd.concat([dfs[0], pd.DataFrame([[np.NaN, np.NaN, np.NaN]], columns=df.columns), dfs[1]], ignore_index=True)
print df

输入:

   A  B  C
0 4 3 0
1 4 0 4
2 4 4 2
3 3 2 1
4 3 1 2
5 4 1 4
6 1 0 4
7 0 2 0
8 2 0 3
9 4 1 3

输出:

    A    B    C
0 4.0 3.0 0.0
1 NaN NaN NaN
2 4.0 0.0 4.0
3 4.0 4.0 2.0
4 3.0 2.0 1.0
5 3.0 1.0 2.0
6 4.0 1.0 4.0
7 1.0 0.0 4.0
8 0.0 2.0 0.0
9 NaN NaN NaN
10 2.0 0.0 3.0
11 4.0 1.0 3.0

最后一件事:可能最后一行在“C”中有 0,因此您可以添加:

if df["C"].iloc[-1] == 0 :
df.loc[len(df)] = [np.NaN, np.NaN, np.NaN]

关于python - 如何在 python 数据帧中的确定行之后添加一个空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49275996/

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