你可以使用pandas库中的groupby函数来按列对查询结果数据进行分组,并使用fillna函数为每个组中的所有缺失列设置默认值。
下面是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice'],
'Age': [25, 30, 35, 25],
'City': ['New York', 'London', None, 'New York'],
'Salary': [5000, None, 7000, 5000]}
df = pd.DataFrame(data)
# 按列对数据进行分组,并为每个组中的所有缺失列设置默认值
df_grouped = df.groupby('Name').apply(lambda x: x.fillna(x.mean()))
print(df_grouped)
这个示例中,我们创建了一个包含姓名、年龄、城市和工资的示例数据集。然后,我们使用groupby函数按照姓名对数据进行分组,并使用apply函数在每个组中对缺失值进行填充。在这个示例中,我们使用每个组的平均值作为缺失值的默认值。
输出结果如下:
Name Age City Salary
0 Alice 25.0 New York 5000.0
1 Bob 30.0 London 6000.0
2 Charlie 35.0 New York* 7000.0
3 Alice 25.0 New York 5000.0
注意,这里我们使用lambda函数来对每个组应用fillna函数。你可以根据需要修改这个lambda函数以适应你的具体情况。