如何将单元格内的字典列表拆分为数据框中的多行?

杰克
inp = [{'Name':'Jack', 'Twitter':'twitter.com/Jack', 'Stats': [{'Year': 2018, 'Followers': '5000'}, {'Year':2019, 'Followers': '6000'}]}, {'Name':'Bill','Twitter':'twitter.com/Twitter'}]
df = pd.DataFrame(inp)

假设我有一个像这样的 DataFrame:

| Name | Twitter             | Stats                                                                     |
|------|---------------------|---------------------------------------------------------------------------|
| Jack | twitter.com/Jack    | [{'Year': 2018, 'Followers': '5000'}, {'Year': 2019, 'Followers': '6000'}] |
| Bill | twitter.com/Twitter |                                                                           |

如何将统计信息拆分为多行,然后将字典拆分为多列?此外,如果有 NaN,则忽略该行。

期望的输出:

| Name | Twitter             | Year | Followers |
|------|---------------------|------|-----------|
| Jack | twitter.com/Jack    | 2018 | 5000      |
| Jack | twitter.com/Jack    | 2019 | 6000      |
| Bill | twitter.com/Twitter |      |           |
朱利安·罗勒

这是我的解决方案:

clms = ['Name', 'Twitter', 'Year', 'Followers']
new_df = pd.DataFrame(columns=clms)
for idx, row in df.iterrows():
    try:
        for elt in row.Stats:
            new_series = pd.Series([row.Name, row.Twitter, elt['Year'], elt['Followers']], index=clms)
            new_df = new_df.append(new_series, ignore_index=True)
    except TypeError:
        new_series = pd.Series([row.Name, row.Twitter, np.NaN, np.NaN], index=clms)
        new_df = new_df.append(new_series, ignore_index=True)

所以基本上,这可能不是超级高性能,但它会创建一个具有相应拆分值的新数据帧,如果数据帧中没有值,则为 NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将包含列表的数据框单元格拆分为列?

将熊猫数据框单元格中的嵌套数组值拆分为多行

R:如何根据单元格中的值将数据帧中的行拆分为多行?

在pandas数据框中将单元格拆分为多行

如何将单元格中的数据拆分为 Excel 上的现有列?

如何将两行包含多行的单元格拆分为唯一的行,以保持/复制周围的数据?

将mySQL中的多个单元格拆分为多行

如何将Word表复制到Excel中而不将单元格拆分为多行?

如何将多行单元格拆分为Google表格的数组?

使用R将一个单元格中的数据拆分为多行

将单元格值拆分为多行而不从其他单元格复制数据

TSQL:如何根据单元格中的数字将行拆分为多行

如何将数据框单元格内的列表分解为单独的行

如何将API响应拆分为单元格?

根据熊猫数据框中的条件将单元格拆分/分解为多行

如何将一行中的字典列表拆分为多行 Pandas DataFrame?

如何在熊猫数据框中的多行中拆分单元格的值?

如何将单行拆分为多行,每行都有自己的单元格值,用于 Excel 表中的不同列

将行拆分为多行,同时保留单元格

将多行单元格拆分为不同的行

将 Google Sheet 单元格内的 JSON 拆分为多行的公式

将单元格值拆分为多行并保留其他数据

使用数据前缀作为列标题将多行单元格拆分为列

将具有多个数据的单元格拆分为多于一列的多行

如何将列表中的字典拆分为df

如何将数据框中的字典拆分为许多列

如何将数据拆分为字典?

如何将python列表附加到每个包含数组的pandas数据框单元格?

如何将包含多个值(以逗号分隔)的单元格拆分为单独的行?