也许更简单的方法是将添加pandas.Series
到pandas.DataFrame
与ignore_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()
0
我有一些数据要整理成
Pandas
的DataFrame
。我试图使每一行成为一个Series
并将其附加到DataFrame
。我找到了一种方法,可以将Series
附加到一个空list
,然后将Series
list
转换为DataFrame
例如
DF = DataFrame([series1,series2],columns=series1.index)
此
list
到DataFrame
步骤似乎过多。我在这里签出几个例子上,但没有任何的Series
保留了Index
从标签Series
使用它们作为列标签。我很长的路要走,列是id_names,行是type_names:
是否可以在不首先创建列表的情况下将Series添加到DataFrame的行?
然后我尝试
空数据框
尝试在pandas数据框中插入一行仍然得到一个空数据框:/
我正在尝试让Series成为行,其中Series的索引成为DataFrame的列标签