也许更简单的方法是添加pandas.Series
进入pandas.DataFrame
with 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)
Demo -
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() http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.append.html未就位,它返回附加的数据帧,您需要将其分配回原始数据帧才能正常工作。例子 -
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()