如何通过 "for loop" 处理 pandas dataframe 中的嵌套数据?
How to deal with nested data in pandas dataframe via "for loop"?
我在 pandas 数据框中有一个嵌套数据,我想使用“pd.Dataframe ()”函数来展平列“names”。当我尝试通过“for 循环”展平时,它会生成 5 个不同的数据框列表,我不希望有这些列表,而只有一个列出所有值的数据框列表。我已经尝试过“concat”或“append”方法,但它没有提供任何前进的线索。欢迎任何help/comment,非常感谢。这是我的“for 循环”:
x=df['names'].iloc[0:4]
name_data = pd.DataFrame(x)
data_row=[]
for data in x:
data_row =pd.DataFrame(data)
st.write(data_row)
如果我没理解错的话,你想将上面示例图像中的 5 个 table 连接到仅 1 个 table 并在 streamlit 上显示结果 table。
您只需
- 从
data_row =pd.DataFrame(data)
更改为 data_row += [pd.DataFrame(data)]
- for循环结束后
- 您可以使用
data_row = pd.concat(data_row)
将 data_row
中的所有数据帧连接到一个数据帧
- 然后,使用
st.write(data_row)
以流光显示结果 table
这是解决您的问题的示例。
df = pd.DataFrame({
'names': [[{'name':'a'},{'name':'b'}], [{'name':'c'}]]
})
x=df['names'].iloc[0:2]
data_row = []
for data in x:
data_row += [pd.DataFrame(data)]
data_row = pd.concat(data_row)
st.write(data_row)
或者您可以使用下面的示例创建字典列表和数据框
data_row = []
for data in x:
data_row += data
data_row = pd.DataFrame(data_row)
我在 pandas 数据框中有一个嵌套数据,我想使用“pd.Dataframe ()”函数来展平列“names”。当我尝试通过“for 循环”展平时,它会生成 5 个不同的数据框列表,我不希望有这些列表,而只有一个列出所有值的数据框列表。我已经尝试过“concat”或“append”方法,但它没有提供任何前进的线索。欢迎任何help/comment,非常感谢。这是我的“for 循环”:
x=df['names'].iloc[0:4]
name_data = pd.DataFrame(x)
data_row=[]
for data in x:
data_row =pd.DataFrame(data)
st.write(data_row)
如果我没理解错的话,你想将上面示例图像中的 5 个 table 连接到仅 1 个 table 并在 streamlit 上显示结果 table。
您只需
- 从
data_row =pd.DataFrame(data)
更改为data_row += [pd.DataFrame(data)]
- for循环结束后
- 您可以使用
data_row = pd.concat(data_row)
将 - 然后,使用
st.write(data_row)
以流光显示结果 table
data_row
中的所有数据帧连接到一个数据帧 - 您可以使用
这是解决您的问题的示例。
df = pd.DataFrame({
'names': [[{'name':'a'},{'name':'b'}], [{'name':'c'}]]
})
x=df['names'].iloc[0:2]
data_row = []
for data in x:
data_row += [pd.DataFrame(data)]
data_row = pd.concat(data_row)
st.write(data_row)
或者您可以使用下面的示例创建字典列表和数据框
data_row = []
for data in x:
data_row += data
data_row = pd.DataFrame(data_row)