如何重复每个数据帧行n次(n是不同的每行)?



我有一个数据帧'data'和一个字典'dict_repeat',它指定了重复一行的次数。例如,行包含名称‘杰克’应该重复三次"数据":

import pandas as pd
data = {'Name': ['Anna', 'Nick', 'Jack'],
'Age': [19, 21, 19]}
dict_repeat = {
'Anna': 1,
'Nick': 2,
'Jack': 3,
}

初始数据:

Name  Age
0  Anna   19
1  Nick   21
2  Jack   19

所需输出:

Name  Age
0  Anna   19
1  Nick   21
1  Nick   21
2  Jack   19
2  Jack   19
2  Jack   19

您可以使用Index.repeat:

df = pd.DataFrame(data)
df2 = df.loc[df.index.repeat(df['Name'].map(dict_repeat))]

输出:

Name  Age
0  Anna   19
1  Nick   21
1  Nick   21
2  Jack   19
2  Jack   19
2  Jack   19

相关内容

  • 没有找到相关文章

最新更新