Pandas 数据帧提取列表元素并创建新列
使用 Pandas 库,我们可以轻松地提取 DataFrame 中列表元素并创建新列。
假设有一个 DataFrame,包含三列,其中 A 列元素是列表,如下所示:
[[215, 543]]
[[21, 3]]
[[15, 543]]
我们的需求是:提取 A 列中的元素,并在原表中增加两个新的列 x1 和 x2。
我们可以使用 apply 函数来实现:
import pandas as pd
df = pd.DataFrame({'A': [[215, 543], [21, 3], [15, 543]]})
def extract_elements(row):
x1, x2 = row['A']
return pd.Series({'x1': x1, 'x2': x2})
df[['x1', 'x2']] = df.apply(extract_elements, axis=1)
print(df)
输出结果为:
A x1 x2
0 [215, 543] 215 543
1 [21, 3] 21 3
2 [15, 543] 15 543
首先定义了一个 extract_elements 函数,用于从每一行的 A 列中提取出两个元素,然后返回一个包含 x1 和 x2 的 Series 对象。
然后使用 apply 函数,对于每一行调用 extract_elements 函数,并将返回的 Series 对象赋值到新的两列 x1 和 x2 中。注意需要指定 axis=1,表示按行进行操作。
原文地址: https://www.cveoy.top/t/topic/nvO0 著作权归作者所有。请勿转载和采集!