📜  更改行中的值 pandas - Python (1)

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

更改行中的值 pandas - Python

Pandas 是一个强大的数据处理库,能够有效地处理大型数据集。在这里我们将介绍如何使用 Pandas 更改数据框或序列行中的值。

更改单个值

我们可以使用 atloc 方法来更改数据框或序列中的单个值。

import pandas as pd
 
data = {
    'Name': ['Jerry', 'Tom', 'Mary'],
    'Age': [26, 24, 28],
    'Country': ['CN', 'US', 'UK']
}
 
df = pd.DataFrame(data)
 
# 使用 at 方法更改值
df.at[1, 'Age'] = 25
 
# 使用 loc 方法更改值
df.loc[2, 'Country'] = 'CA'
 
print(df)

输出结果:

Name  Age Country
0  Jerry   26      CN
1    Tom   25      US
2   Mary   28      CA
更改多个值

我们可以使用布尔索引来选择要更改的行和列,然后使用 loc 方法更改多个值。

import pandas as pd
 
data = {
    'Name': ['Jerry', 'Tom', 'Mary'],
    'Age': [26, 24, 28],
    'Country': ['CN', 'US', 'UK']
}
 
df = pd.DataFrame(data)
 
# 使用布尔索引选择要更改的行和列
condition = (df['Age'] > 25) & (df['Country'] == 'UK')
df.loc[condition, 'Age'] = 30
 
print(df)

输出结果:

Name  Age Country
0  Jerry   26      CN
1    Tom   24      US
2   Mary   30      UK
序列中的更改

我们也可以使用相同的方法更改序列中的单个值或多个值。

import pandas as pd
 
data = {
    'Name': ['Jerry', 'Tom', 'Mary'],
    'Age': [26, 24, 28],
    'Country': ['CN', 'US', 'UK']
}
 
df = pd.DataFrame(data)
 
# 更改序列中的单个值
df['Age'].at[1] = 25
 
# 使用布尔索引选择要更改的值
condition = df['Age'] > 25
df['Age'].loc[condition] = 30
 
print(df['Age'])

输出结果:

0    30
1    25
2    30
Name: Age, dtype: int64
总结

在 Pandas 中,我们可以使用 atloc 方法更改数据框或序列行中的单个或多个值。使用布尔索引选择要更改的行和列。Pandas 是一个强大的工具,可以处理大型数据集,值得学习和掌握。