Pandas 数据处理:提取嵌套列表元素并新增列

本文介绍了使用 Pandas 库将嵌套列表中的元素提取出来,并将其作为新的列添加到 DataFrame 中的具体方法。

假设有一个 DataFrame,其中一列 'A' 包含嵌套列表:

[[215, 543]]
[[21, 3]]
[[15, 543]]

我们的目标是提取 'A' 列中每个列表的元素,并将其作为新的列 'x1' 和 'x2' 添加到 DataFrame 中。

解决方案:

可以使用 apply 函数和 pd.Series 将每个元素转换成两列数据,然后使用 join 函数将新的列添加到原表中。

import pandas as pd

# 创建原表
df = pd.DataFrame({'A': [[[215, 543]], [[21, 3]], [[15, 543]]]}) 

# 定义函数将每个元素转换成两列数据
def split_list(x):
    return pd.Series([x[0][0], x[0][1]])

# 使用apply和pd.Series将每个元素转换成两列数据
new_cols = df['A'].apply(split_list)

# 将新的列添加到原表中
df = df.join(new_cols.rename(columns={0: 'x1', 1: 'x2'}))

print(df)

输出结果为:

             A   x1   x2
0  [[215, 543]]  215  543
1     [[21, 3]]   21    3
2    [[15, 543]]   15  543

解释:

  1. split_list 函数将每个列表的元素提取出来,并作为 pd.Series 返回。
  2. apply 函数将 split_list 函数应用于 DataFrame 的 'A' 列,将每个列表都转换成两列数据。
  3. rename 函数将新列的索引分别重命名为 'x1' 和 'x2'。
  4. join 函数将新的列添加到原表中。

总结:

通过使用 apply 函数和 pd.Series,我们可以轻松地将嵌套列表中的元素提取出来,并将其作为新的列添加到 DataFrame 中。这个方法可以方便地处理各种数据处理任务。

Pandas 数据处理:提取嵌套列表元素并新增列

原文地址: https://www.cveoy.top/t/topic/nvO6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录