首页 > 后端开发 > Python教程 > 如何在 Pandas DataFrame 中分解列表?

如何在 Pandas DataFrame 中分解列表?

Linda Hamilton
发布: 2024-12-03 11:45:12
原创
370 人浏览过

How to Explode Lists Within Pandas DataFrames?

Pandas 中的爆炸列表

问题陈述

在 Pandas 中,你可能会遇到单元格包含多个值列表的数据帧。与其在单个单元格中存储多个值,不如扩展数据框,使列表中的每个项目占据自己的行。

Pandas 的解决方案 >= 0.25 h3>

Pandas 0.25 及以上版本引入Series 和 DataFrame 的 .explode() 方法。此方法有效地将列表元素分成不同的行。

要分解列,只需使用以下语法:

df.explode('column_name')
登录后复制

例如,让我们考虑以下数据框:

import pandas as pd
import numpy as np

df = pd.DataFrame(
    {'trial_num': [1, 2, 3, 1, 2, 3],
     'subject': [1, 1, 1, 2, 2, 2],
     'samples': [list(np.random.randn(3).round(2)) for i in range(6)]
    }
)
登录后复制

要分解“样本”列,我们将使用:

df_exploded = df.explode('samples')
登录后复制

这将产生所需的输出:

   subject  trial_num  samples
0        1          1    0.57
1        1          1   -0.83
2        1          1    1.44
3        1          2   -0.01
4        1          2    1.13
5        1          2    0.36
6        1          3    1.18
# etc.
登录后复制

混合列注释

.explode()方法可以处理列表的混合列和标量,以及空列表和 NaN。不过,需要注意的是它一次只能爆炸一列

以上是如何在 Pandas DataFrame 中分解列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板