Pandas 是一个强大的 Python 数据分析库,提供了大量的数据结构和数据分析工具。在 Pandas 中,DataFrame 是一个二维的表格型数据结构,类似于 Excel 表格或 SQL 表。
df.loc[]
和 df.iloc[]
。df.groupby()
和 df.apply()
。根据多行分组条件更改 Pandas 列中的单元格值。
假设我们有一个 DataFrame,包含以下数据:
import pandas as pd
data = {
'Group': ['A', 'A', 'B', 'B', 'A', 'B'],
'Value': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
print(df)
输出:
Group Value
0 A 10
1 A 20
2 B 30
3 B 40
4 A 50
5 B 60
现在我们希望根据 Group
列的值,将 Value
列中的值进行修改。例如,将 Group
为 'A' 的行的 Value
值增加 5。
def modify_value(group):
if group == 'A':
return df.loc[df['Group'] == group, 'Value'] + 5
else:
return df.loc[df['Group'] == group, 'Value']
df['Value'] = df.groupby('Group')['Value'].transform(modify_value)
print(df)
输出:
Group Value
0 A 15
1 A 25
2 B 30
3 B 40
4 A 55
5 B 60
groupby
方法根据 Group
列进行分组。transform
方法对每个分组应用自定义函数 modify_value
。modify_value
函数中,根据分组条件修改 Value
列的值。通过这种方式,你可以根据多行分组条件灵活地更改 Pandas 列中的单元格值。
领取专属 10元无门槛券
手把手带您无忧上云