📌  相关文章
📜  pandas 从一个 coluikmnn 值的 antoiher 列中获取 cvvlaue - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.384000             🧑  作者: Mango

Pandas从一个列取值填充另一个列

在数据处理中,我们常常需要从数据集的某一列获取值并填充到另一列中。在 Pandas 中,我们可以使用简单的代码来完成这个任务。

从一个列取值

我们可以通过访问 DataFrame 中的一个 Series,来从一个列获取值。使用 loc 属性和列名,然后将该数据分配给要填充的新列即可。

import pandas as pd

data = {'name': ['Eva', 'Adam', 'Alex', 'Jordan'],
        'age': [23, 28, 22, 25],
        'fav_color': ['red', 'green', 'blue', 'purple']}

df = pd.DataFrame(data)

df['new_column'] = df['name']

在上面的代码中,我们创建了一个包含三列 (name,agefav_color)的数据集。然后我们使用 df['name']name 列中获取值,并将其赋值给一个新列 new_column。在这个例子中,新列的值等于 name 列的值。

从一列取另一列的值

有时我们需要从一列获取数据,并将它添加到新列中的相应行。让我们看看如何在这种情况下操作。

import pandas as pd

data = {'name': ['Eva', 'Adam', 'Alex', 'Jordan'],
        'age': [23, 28, 22, 25],
        'fav_color': ['red', 'green', 'blue', 'purple']}

df = pd.DataFrame(data)

df.loc[df['name'] == 'Eva', 'new_column'] = df.loc[df['name'] == 'Adam', 'fav_color'].item()

在上面的代码中,我们创建了一个包含三列(name,agefav_color) 的数据集。然后我们使用 loc 属性和 item 函数从 fav_color 列中获取值,并将其赋值给新列 new_column 的相应行。

需要注意的是,当我们使用 item() 函数时,我们必须确保 Series 只有一个唯一的值。但是,如果它包含多个或不包含值,该函数将引发异常。

Pandas 是一种非常强大的数据操作工具,数据处理中如果你遇到任何问题,Pandas 都能够提供好的解决方案。