Pandas 修改pandas dataframe中的部分行

Pandas 修改pandas dataframe中的部分行

在本文中,我们将简单介绍如何在pandas dataframe中修改部分行的数据。

阅读更多:Pandas 教程

1. 修改单个值

pandas提供了两种方法可以修改单个值:使用loc和iloc

例如,如果我们有以下的pandas dataframe:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'age': [20, 21, 22, 23, 24],
        'gender': ['F', 'M', 'M', 'M', 'F']}

df = pd.DataFrame(data)

print(df)

输出:

       name  age gender
0     Alice   20      F
1       Bob   21      M
2   Charlie   22      M
3     David   23      M
4       Eva   24      F

我们现在想将第一行的年龄改为19,我们可以使用loc:

df.loc[0, 'age'] = 19

print(df)

输出:

       name  age gender
0     Alice   19      F
1       Bob   21      M
2   Charlie   22      M
3     David   23      M
4       Eva   24      F

或者使用iloc:

df.iloc[0, 1] = 19

print(df)

输出:

       name  age gender
0     Alice   19      F
1       Bob   21      M
2   Charlie   22      M
3     David   23      M
4       Eva   24      F

注意:iloc使用的是索引位置而不是标签。

2.修改整列的值

我们可以通过以下方式来修改整列的值:

df['age'] = [20, 19, 22, 23, 24]

print(df)

输出:

       name  age gender
0     Alice   20      F
1       Bob   19      M
2   Charlie   22      M
3     David   23      M
4       Eva   24      F

3. 修改多列或多行的值

如果我们想修改多列或多行的数据,我们可以使用以下方法:

df.loc[df['name'].isin(['Alice', 'Charlie']), ['age', 'gender']] = [[30, 'M'], [25, 'F']]

print(df)

输出:

       name  age gender
0     Alice   30      M
1       Bob   19      M
2   Charlie   25      F
3     David   23      M
4       Eva   24      F

我们选择了名字为Alice和Charlie的行,并且选择了age和gender列进行修改。使用isin方法来选择多个名字,使用loc方法将值进行修改。

4. 按条件修改数据

我们还可以按条件来修改数据,例如,我们要将年龄大于21岁的人的性别改成’X’:

df.loc[df['age'] > 21, 'gender'] = 'X'

print(df)

输出:

       name  age gender
0     Alice   30      X
1       Bob   19      M
2   Charlie   25      X
3     David   23      X
4       Eva   24      X

我们通过使用loc方法和条件来选择要修改的数据。

5. 用函数修改数据

最后,我们也可以使用函数来修改数据。

例如,我们定义一个函数,将年龄小于20岁的人的性别改成’Y’:

def modify(df):
    df.loc[df['age'] < 20, 'gender'] = 'Y'
    return df

df = modify(df)

print(df)

输出:

       name  age gender
0     Alice   30      X
1       Bob   19      Y
2   Charlie   25      X
3     David   23      X
4       Eva   24      X

总结

在本文中,我们介绍了pandas dataframe中修改部分行的多种方法,包括使用loc、iloc、修改整列、修改多列或多行、按条件修改和使用函数修改。pandas提供了多种方便的方法来修改数据,使得我们可以高效地进行数据处理和分析。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程