Python 根据条件值(n)插入n行
我需要Python帮助解决这个问题 如果我有一些像这样的数据帧:Python 根据条件值(n)插入n行,python,pandas,dataframe,Python,Pandas,Dataframe,我需要Python帮助解决这个问题 如果我有一些像这样的数据帧: ID Date Constant 0 1 some_date 1 1 1 some_date 1 2 2 some_date 4 3 2 some_date 4 4 2 some_date 4 5 3 some_date 2 6 3
ID Date Constant
0 1 some_date 1
1 1 some_date 1
2 2 some_date 4
3 2 some_date 4
4 2 some_date 4
5 3 some_date 2
6 3 some_date 2
我想根据条件“常量”为每个组插入行数。因此,对于组ID编号1,我希望有一个额外的行,对于编号2,我希望有4个新行,对于编号3,我希望有两个额外的行
有人能帮我吗
提前感谢您,您可以使用列表comp来计算数据帧+所需的重复次数 它不是很漂亮,但我不知道如何将其应用于数据帧中的多个组
df1 = pd.concat([
pd.concat([data,
pd.concat([data.iloc[:1]] * data["Constant"].min())])
for group, data in df.groupby(["ID", "Constant"])
])
ID Date Constant
0 1 some_date 1
1 1 some_date 1
0 1 some_date 1 #repeat
2 2 some_date 4
3 2 some_date 4
4 2 some_date 4
2 2 some_date 4
2 2 some_date 4
2 2 some_date 4
2 2 some_date 4 # 4 repeated rows.
5 3 some_date 2
6 3 some_date 2
5 3 some_date 2
5 3 some_date 2 # 2 repeated rows.
IIUC,您可以使用列表comp来计算数据帧+所需的重复次数 它不是很漂亮,但我不知道如何将其应用于数据帧中的多个组
df1 = pd.concat([
pd.concat([data,
pd.concat([data.iloc[:1]] * data["Constant"].min())])
for group, data in df.groupby(["ID", "Constant"])
])
ID Date Constant
0 1 some_date 1
1 1 some_date 1
0 1 some_date 1 #repeat
2 2 some_date 4
3 2 some_date 4
4 2 some_date 4
2 2 some_date 4
2 2 some_date 4
2 2 some_date 4
2 2 some_date 4 # 4 repeated rows.
5 3 some_date 2
6 3 some_date 2
5 3 some_date 2
5 3 some_date 2 # 2 repeated rows.
df.loc[df.index.repeat(df.Constant)]
。您能格式化数据帧吗?很难想象你在问什么。@QuangHoang我不认为这是对的,因为它在他想要行级附录的地方将数据框复制了*n。df.loc[df.index.repeat(df.Constant)]
。你能格式化你的数据框吗?很难想象你在问什么。@QuangHoang我不认为这是对的,因为它将数据帧复制了*n,而他希望在其中添加行级附加。