我在数据集上使用statsmodels.api
。我有熊猫系列的清单。熊猫系列具有键值对。键是列的名称,值包含数据。但是,我有一个重复键(列名)的系列列表。我想将所有熊猫系列列表中的值保存到单个数据帧中,其中列名是熊猫系列的键。列表中的所有系列均具有相同的键。我想将它们另存为单个数据框,以便可以将数据框导出为CSV。知道如何将键另存为df的列名,然后让值填充其余信息。
列表中的每个系列均返回以下内容:
index 0 of the list: <class 'pandas.core.series.Series'>
height 23
weight 10
size 45
amount 9
index 1 of the list: <class 'pandas.core.series.Series'>
height 11
weight 99
size 25
amount 410
index 2 of the list: <class 'pandas.core.series.Series'>
height 3
weight 0
size 115
amount 92
我希望能够读取一个数据框,以便将这些值保存为以下内容:
DataFrame:
height weight size amount
23 10 45 9
11 11 25 410
3 3 115 92
答案 0 :(得分:1)
pd.DataFrame(data=your_list_of_series)
创建新的DataFrame时,pandas会接受data参数系列的列表。您系列的索引将成为DataFrame的列名。
答案 1 :(得分:0)
不是最有效的方法,但这可以解决问题:
import pandas as pd
series_list =[ pd.Series({ 'height': 23,
'weight': 10,
'size': 45,
'amount': 9
}),
pd.Series({ 'height': 11,
'weight': 99,
'size': 25,
'amount': 410
}),
pd.Series({ 'height': 3,
'weight': 0,
'size': 115,
'amount': 92
})
]
pd.DataFrame( [series.to_dict() for series in series_list] )
答案 2 :(得分:0)
您是否尝试仅在系列列表中调用pd.DataFrame()
?那应该工作。
import pandas as pd
series_list = [
pd.Series({
'height': 23,
'weight': 10,
'size': 45,
'amount': 9
}),
pd.Series({
'height': 11,
'weight': 99,
'size': 25,
'amount': 410
}),
pd.Series({
'height': 3,
'weight': 0,
'size': 115,
'amount': 92
})
]
df = pd.DataFrame(series_list)
print(df)
df.to_csv('path/to/save/foo.csv')
输出:
height weight size amount
0 23 10 45 9
1 11 99 25 410
2 3 0 115 92