根据不同列中的值重复行

根据不同列中的值重复行,第1张

根据不同列中的值重复行

首先,我使用整数而不是文本重新创建了您的数据。我还更改了数量,以便可以更轻松地理解问题。

d = {1: [20, 'NYC', 1], 2: [30, 'NYC', 2], 3: [5, 'SF', 3],4: [300, 'LA', 1], 5: [30, 'LA', 2],  6: [100, 'SF', 3]}columns=['Price', 'City', 'Quantity'] # create dataframe and rename columnsdf = pd.Dataframe.from_dict(data=d, orient='index').sort_index()df.columns = columns>>> df   Price City  Quantity1     20  NYC         12     30  NYC         23      5   SF         34    300   LA         15     30   LA         26    100   SF         3

我通过使用嵌套列表理解结构创建了一个新的Dataframe。

df_new = pd.Dataframe([df.ix[idx]  for idx in df.index  for _ in range(df.ix[idx]['Quantity'])]).reset_index(drop=True)>>> df_new    Price City  Quantity0      20  NYC         11      30  NYC         22      30  NYC         23       5   SF         34       5   SF         35       5   SF         36     300   LA         17      30   LA         28      30   LA         29     100   SF         310    100   SF         311    100   SF         3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存