下面是一个示例代码,演示了如何根据分组后的列表类型的行的值,填充一个新列:
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'C', 'C'],
'Values': [[1, 2, 3], [4, 5], [6, 7, 8, 9], [10], [11, 12], [13, 14, 15]]}
df = pd.DataFrame(data)
# 定义填充新列的函数
def fill_new_column(row):
# 如果行的类型是列表
if isinstance(row['Values'], list):
# 计算列表的和
row['Sum'] = sum(row['Values'])
return row
# 按照分组后,比较类型为列表的行的值,填充新列
df = df.apply(fill_new_column, axis=1)
print(df)
输出结果如下:
Group Values Sum
0 A [1, 2, 3] 6
1 A [4, 5] 9
2 B [6, 7, 8, 9] 30
3 B [10] 10
4 C [11, 12] 23
5 C [13, 14, 15] 42
在这个示例中,我们使用了Pandas库来处理数据。首先,我们创建了一个包含分组和值的示例数据集。然后,我们定义了一个函数fill_new_column
,它接收一个行作为输入,并根据行的类型是否为列表来填充新列。最后,我们使用apply
函数将这个函数应用到数据帧的每一行,以填充新列。
上一篇:按照分组后的唯一值创建列
下一篇:按照分组后,在列中创建数值。