使用 Pandas 库,我们可以轻松地提取 DataFrame 中列表元素并创建新列。

假设有一个 DataFrame,包含三列,其中 A 列元素是列表,如下所示:

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

我们的需求是:提取 A 列中的元素,并在原表中增加两个新的列 x1x2

我们可以使用 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 列中提取出两个元素,然后返回一个包含 x1x2 的 Series 对象。

然后使用 apply 函数,对于每一行调用 extract_elements 函数,并将返回的 Series 对象赋值到新的两列 x1x2 中。注意需要指定 axis=1,表示按行进行操作。

Pandas 数据帧提取列表元素并创建新列

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

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