如何解决Pandas concat 意外地添加了 NA 行
我正在遍历 JSON 对象以创建数据帧。 JSON 文件包含一个文本表,表中只有 1 列。我想遍历 JSON 对象中的每个“行”,创建该行的数据帧,然后将该行数据帧附加到另一个数据帧。我已经尝试了 append 和 pd.concat,但没有得到我预期的结果。我得到一个充满 NA 和 2 列而不是 1 列的数据框。
columns_name_list
的输出是 ['1']
。
row_df.columns
的输出是 Index(['1'],dtype='object')
。
我跑了:
new_df = pd.DataFrame(columns=[column_names_list],index=[0])
print("----------")
print("new_df:\n")
print(new_df)
print("----------\n\n")
for i in range(1,num_rows+1):
print("---")
print(i)
row_df = pd.DataFrame(document_data["tableList"][0]["rowMap"][str(i)]["columns"],index=[0])
print(row_df,"\n\n")
new_df = pd.concat([new_df,row_df],axis=0)
print("Concatenated df:\n")
print(new_df,"\n")
print("---\n\n\n")
new_df = new_df.dropna()
new_df = new_df.reset_index(drop=True)
new_df
...产生输出:
----------
new_df:
1
0 NaN
----------
---
1
1
0 EFG intercompany debtor- ABC
Concatenated df:
1 1
0 NaN NaN
0 NaN NaN
---
---
2
1
0 As reported on 29 December 2003,the only subs...
Concatenated df:
1 1
0 NaN NaN
0 NaN NaN
0 NaN NaN
---
1 1
输出显示 row_df
不包含 NA,但连接导致行充满 NA,并意外添加了额外的列。
预期输出:
----------
new_df:
1
0 NaN
----------
---
1
1
0 EFG intercompany debtor- ABC
Concatenated df:
1
0 NaN
0 EFG intercompany debtor- ABC
---
---
2
1
0 As reported on 29 December 2003,the only subs...
Concatenated df:
1
0 NaN
0 EFG intercompany debtor- ABC
0 As reported on 29 December 2003,the only subs...
---
1
0 EFG intercompany debtor- ABC
1 As reported on 29 December 2003,the only subs...
对于上下文,第一个和第二个 row_df 实例的 JSON 是:
{'columns': {'1': 'EFG intercompany debtor- ABC '}}
{'columns': {'1': "As reported on 29 December 2003,the only subs..."}}
我做错了什么,我该如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。