Python 熊猫系列。从_唱片公司?

Python 熊猫系列。从_唱片公司?,python,pandas,Python,Pandas,DataFrame.from_records接受字典列表并创建一个数据框,其中dict的每个键对应一列 我通常有这种格式的数据 [{'index': 1, value: 5}, {'index': 2, value: 10}] 我想从中创建一个pd.Series,它相当于 pd.Series([5, 10], index=[1, 2]) 然而,似乎并没有一种类似的方法来计算级数 最后我使用了DataFrame.from_records,然后使用squeak()将其转换为序列。有更好的方法吗?

DataFrame.from_records
接受字典列表并创建一个数据框,其中dict的每个键对应一列

我通常有这种格式的数据

[{'index': 1, value: 5}, {'index': 2, value: 10}]
我想从中创建一个
pd.Series
,它相当于

pd.Series([5, 10], index=[1, 2])
然而,似乎并没有一种类似的方法来计算级数


最后我使用了
DataFrame.from_records
,然后使用
squeak()
将其转换为序列。有更好的方法吗?

您可以从键值对字典中初始化一个序列(直观地说,这比记录列表更有意义)。在cpython3.6+(或python3.7+)上,您可以执行以下操作

pd.Series({r['index']: r['value'] for r in records})  

1     5
2    10
dtype: int64
字典在cpython3.6+(或python3.7+)中保留插入顺序。在旧版本上,可能无法保证您的订购,因此您可以在订购后按索引排序

pd.Series({r['index']: r['value'] for r in records}).sort_index()

如果您想让阅读您的代码的人清楚地知道您正在从记录初始化一个系列,您还可以使用
DataFrame.from_records
并将其压缩成一个系列

pd.DataFrame.from_records(data, index=['index']).squeeze()

index
1     5
2    10
Name: value, dtype: int64

但这个系列是一维的,你应该如何看待你的预期结果呢?@blue\u注意以什么方式更好
series=pd.DataFrame(records).squeeze()
似乎不太糟糕。当您首先需要一个系列时,创建一个数据帧并将其转换为系列感觉很奇怪。很高兴您提到了较低版本的
排序索引。
。)