如何从一个列表中创建一个 Pandas 数据框,该列表具有我要包含在嵌套在重复列表元素内的数据框中的所有值?
How do I create a Pandas Dataframe from a list that has all the values I'm seeking to include in the dataframe nested inside a recurring list element?
列表如下所示。
[
{
"legal": [
{
"importance": 3,
"notes": "",
"updated": 19976,
"date": 09/05/2020
}
]
},
{
"legal": [
{
"importance": 3,
"notes": "",
"updated": 15783,
"date": 09/05/2020
}
]
}
]
我希望列为“重要性”、“注释”、“更新”和“日期”。我想让索引成为“日期”。我似乎无法找到一种方法来使用列表中的“合法”元素来制作 pandas 数据框。我不必将它们包含在数据框中。这就是我接收数据的方式。我想知道制作此 pandas 数据框的正确方法。让它看起来像这样。
| date *index | importance | notes | updated |
|-------------|------------|-------|---------|
| 09/05/2020 | 3 | NaN | 19976 |
| | 3 | NaN | 15783 |
您可以尝试以下列表理解来获取每个字典的 legal
键和第一个(唯一)字典,之后我将空字符串替换为 NaN
:
df = pd.DataFrame([i['legal'][0] for i in lst]).replace('', np.nan)
然后:
print(df)
将给予:
date importance notes updated
0 09/05/2020 3 NaN 19976
1 09/05/2020 3 NaN 15783
In [33]: pd.json_normalize(data, 'legal').replace({'': np.nan}).set_index('date')
Out[33]:
importance notes updated
date
09/05/2020 3 NaN 19976
09/05/2020 3 NaN 15783
列表如下所示。
[
{
"legal": [
{
"importance": 3,
"notes": "",
"updated": 19976,
"date": 09/05/2020
}
]
},
{
"legal": [
{
"importance": 3,
"notes": "",
"updated": 15783,
"date": 09/05/2020
}
]
}
]
我希望列为“重要性”、“注释”、“更新”和“日期”。我想让索引成为“日期”。我似乎无法找到一种方法来使用列表中的“合法”元素来制作 pandas 数据框。我不必将它们包含在数据框中。这就是我接收数据的方式。我想知道制作此 pandas 数据框的正确方法。让它看起来像这样。
| date *index | importance | notes | updated |
|-------------|------------|-------|---------|
| 09/05/2020 | 3 | NaN | 19976 |
| | 3 | NaN | 15783 |
您可以尝试以下列表理解来获取每个字典的 legal
键和第一个(唯一)字典,之后我将空字符串替换为 NaN
:
df = pd.DataFrame([i['legal'][0] for i in lst]).replace('', np.nan)
然后:
print(df)
将给予:
date importance notes updated
0 09/05/2020 3 NaN 19976
1 09/05/2020 3 NaN 15783
In [33]: pd.json_normalize(data, 'legal').replace({'': np.nan}).set_index('date')
Out[33]:
importance notes updated
date
09/05/2020 3 NaN 19976
09/05/2020 3 NaN 15783