gpt4 book ai didi

python - 使用上一列中的值填充 pandas 数据框中的 "None"值

转载 作者:行者123 更新时间:2023-12-02 01:50:08 25 4
gpt4 key购买 nike

我正在调用一个返回 JSON 文件的 API。当我将 JSON 文件解析为 pandas 数据帧时,它返回下表:

<表类=“s-表”><标题>1级2级3级 <正文>总计类别1类别1.2总计无无总计类别 2无总计类别 2类别2.1总计类别 3无总计类别 3类别3.1

正如您所看到的,类别分为三个级别。我想将列中的“无”值替换为之前列中的值。数据框应如下所示:

<表类=“s-表”><标题>1级2级3级 <正文>总计类别1类别1.2总计 总计 总计总计类别 2 类别 2总计类别 2类别2.1总计类别 3 类别 3总计类别 3类别3.1

我已经尝试了一些循环和以下代码:

for i in range(len(df.columns)):
df.iloc[:,i] = np.where(df.iloc[:,i] == "None",df.iloc[:,i+1],df.iloc[:,i])

但这不起作用。我怎样才能实现这个目标?

谢谢!

最佳答案

确保您的 None 实际上是 np.nan,然后您的任务就会变得简单,只需沿着列向前填充 ffill(axis=1 ) 会做你需要的事情:

df.replace('None',np.nan,inplace=True)
df_f = df.ffill(axis=1)

print(df_f)

Level 1 Level 2 Level 3
0 Total Category1 Category 1.2
1 Total Total Total
2 Total Category 2 Category 2
3 Total Category 2 Category 2.1
4 Total Category 3 Category 3
5 Total Category 3 Category 3.1

关于python - 使用上一列中的值填充 pandas 数据框中的 "None"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70412692/

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