Pandas 数据处理:提取嵌套列表元素并新增列
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
解释:
split_list函数将每个列表的元素提取出来,并作为pd.Series返回。apply函数将split_list函数应用于 DataFrame 的 'A' 列,将每个列表都转换成两列数据。rename函数将新列的索引分别重命名为 'x1' 和 'x2'。join函数将新的列添加到原表中。
总结:
通过使用 apply 函数和 pd.Series,我们可以轻松地将嵌套列表中的元素提取出来,并将其作为新的列添加到 DataFrame 中。这个方法可以方便地处理各种数据处理任务。
原文地址: https://www.cveoy.top/t/topic/nvO6 著作权归作者所有。请勿转载和采集!