要按另一列分组进行线性插值,可以使用Pandas的groupby和apply方法。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B'],
'value': [1, 2, None, 4, None, 6],
'other_column': ['x', 'y', 'z', 'x', 'y', 'z']}
df = pd.DataFrame(data)
# 按group列分组,并应用线性插值函数
df['value'] = df.groupby('group')['value'].apply(lambda x: x.interpolate())
print(df)
输出结果:
group value other_column
0 A 1.0 x
1 A 2.0 y
2 A 3.0 z
3 B 4.0 x
4 B 5.0 y
5 B 6.0 z
在这个示例中,我们首先创建了一个包含分组列、数值列和其他列的数据帧。然后,我们使用groupby
函数按group
列进行分组。接下来,我们使用apply
函数应用一个匿名函数,该函数对每个分组中的value
列进行线性插值。最后,我们将插值的结果赋值回原始数据帧的value
列。
下一篇:按另一列分组的数据框列绘制图表