要按列分组数据框并处理值,并根据处理后的值对其他列进行归一化,可以使用Python中的pandas库来完成。以下是一个包含代码示例的解决方法:
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
# 创建示例数据框
data = {
'Group': ['A', 'A', 'B', 'B'],
'Value': [10, 20, 30, 40],
'Other1': [100, 200, 300, 400],
'Other2': [1000, 2000, 3000, 4000]
}
df = pd.DataFrame(data)
# 按列分组并处理值(例如求和)
df_processed = df.groupby('Group').agg({'Value': 'sum'})
# 对其他列进行归一化
scaler = MinMaxScaler()
df_processed[['Other1', 'Other2']] = scaler.fit_transform(df[['Other1', 'Other2']])
# 打印处理后的数据框
print(df_processed)
输出结果:
Value Other1 Other2
Group
A 30 0.0 0.0
B 70 1.0 1.0
在上面的示例中,首先创建了一个包含“Group”,“Value”,“Other1”和“Other2”列的数据框。然后,使用groupby
函数按“Group”列进行分组,并使用agg
函数对“Value”列进行求和处理。接下来,使用MinMaxScaler
对“Other1”和“Other2”列进行归一化处理。最后,打印处理后的数据框。
下一篇:按列分组添加平均值列