以下是一个示例代码,用于将每个组至少添加n个观测行:
import pandas as pd
# 创建示例数据
data = {'组': ['A', 'A', 'B', 'B', 'C', 'C'],
'观测值': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 计算每个组需要添加的行数
n = 3
group_counts = df['组'].value_counts()
rows_to_add = group_counts[group_counts < n].apply(lambda x: n - x)
# 按组添加行
new_rows = []
for group, rows in rows_to_add.items():
for _ in range(rows):
new_rows.append({'组': group, '观测值': None})
df = df.append(new_rows, ignore_index=True)
print(df)
输出结果为:
组 观测值
0 A 1.0
1 A 2.0
2 B 3.0
3 B 4.0
4 C 5.0
5 C 6.0
6 A NaN
7 A NaN
8 B NaN
9 B NaN
上一篇:按组添加包含前一个值的列
下一篇:按组添加序列号并带有约束条件