gpt4 book ai didi

python - 是否可以在不先列出列表的情况下将 Series 附加到 DataFrame 行?

转载 作者:IT老高 更新时间:2023-10-28 21:56:52 25 4
gpt4 key购买 nike

我有一些数据正试图组织到 Pandas 中的 DataFrame 中。我试图使每一行成为 Series 并将其附加到 DataFrame。我找到了一种方法,方法是将 Series 附加到空 list 然后转换 SerieslistDataFrame

例如DF = DataFrame([series1,series2],columns=series1.index)

这个 listDataFrame 的步骤似乎是多余的。我在这里查看了一些示例,但没有一个 Series 保留了 Series 中的 Index 标签以将它们用作列标签。

列是 id_names 而行是 type_names 的路很长: enter image description here

是否可以在不先创建列表的情况下将 Series 附加到 DataFrame 行?

#!/usr/bin/python

DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value)
DF.append(SR_row)
DF.head()

TypeError: Can only append a Series if ignore_index=True or if the Series has a name

然后我尝试了

DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value,name=sample)
DF.append(SR_row)
DF.head()

空数据框

试过Insert a row to pandas dataframe仍然得到一个空的数据框:/

我试图让 Series 成为行,其中 Series 的索引成为 DataFrame 的列标签

最佳答案

也许一种更简单的方法是将 pandas.Series 添加到 pandas.DataFrameignore_index=True 参数到 DataFrame.append()。示例 -

DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value)
DF = DF.append(SR_row,ignore_index=True)

演示 -

In [1]: import pandas as pd

In [2]: df = pd.DataFrame([[1,2],[3,4]],columns=['A','B'])

In [3]: df
Out[3]:
A B
0 1 2
1 3 4

In [5]: s = pd.Series([5,6],index=['A','B'])

In [6]: s
Out[6]:
A 5
B 6
dtype: int64

In [36]: df.append(s,ignore_index=True)
Out[36]:
A B
0 1 2
1 3 4
2 5 6

您的代码中的另一个问题是 DataFrame.append()不在位,它返回附加的数据框,您需要将其分配回原始数据框才能正常工作。示例 -

DF = DF.append(SR_row,ignore_index=True)

要保留标签,您可以使用解决方案来包含系列名称,并将附加的 DataFrame 分配回 DF。示例 -

DF = DataFrame()
for sample,data in D_sample_data.items():
SR_row = pd.Series(data.D_key_value,name=sample)
DF = DF.append(SR_row)
DF.head()

关于python - 是否可以在不先列出列表的情况下将 Series 附加到 DataFrame 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33094056/

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