gpt4 book ai didi

Python-将数据框中的行展开n次

转载 作者:行者123 更新时间:2023-12-02 18:26:19 25 4
gpt4 key购买 nike

我需要创建一个函数来扩展数据框。例如,函数的输入是:

df = pd.DataFrame({
'Name':['Ali', 'Ali', 'Ali', 'Sasha', 'Sasha', 'Sasha'],
'Cart':['book', 'phonecase', 'shirt', 'phone', 'food', 'bag']
})

假设 n 值为 3。然后,对于“姓名”列中的每个人,我必须再添加 3 个新行,并将购物车保留为 np.nan。输出应该是这样的:

df = pd.DataFrame({
'Name':['Ali', 'Ali', 'Ali', 'Ali', 'Ali', 'Ali', 'Sasha', 'Sasha', 'Sasha', 'Sasha', 'Sasha', 'Sasha'],
'Cart':['book', 'phonecase', 'shirt', np.nan, np.nan, np.nan, 'phone', 'food', 'bag', np.nan, np.nan, np.nan]
})

如何使用copy()和append()解决这个问题?

最佳答案

您可以将np.repeatpd.Series.unique一起使用:

n = 3
print (df.append(pd.DataFrame(np.repeat(df["Name"].unique(), n), columns=["Name"])))

Name Cart
0 Ali book
1 Ali phonecase
2 Ali shirt
3 Sasha phone
4 Sasha food
5 Sasha bag
0 Ali NaN
1 Ali NaN
2 Ali NaN
3 Sasha NaN
4 Sasha NaN
5 Sasha NaN

关于Python-将数据框中的行展开n次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70098068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com