【发布时间】:2020-05-28 02:28:15
【问题描述】:
我有一个交易数据框。每行代表两个项目的交易(将其想象为 2 个活动门票或其他东西的交易)。我想根据销售的数量复制每一行。
下面是示例代码:
# dictionary of transactions
d = {
'1': ['20', 'NYC', '2'],
'2': ['30', 'NYC', '2'],
'3': ['5', 'NYC', '2'],
'4': ['300', 'LA', '2'],
'5': ['30', 'LA', '2'],
'6': ['100', 'LA', '2']
}
columns=['Price', 'City', 'Quantity']
# create dataframe and rename columns
df = pd.DataFrame.from_dict(
data=d, orient='index'
)
df.columns = columns
这会产生一个看起来像这样的数据框
Price City Quantity
20 NYC 2
30 NYC 2
5 NYC 2
300 LA 2
30 LA 2
100 LA 2
所以在上面的例子中,每一行都会变成两个重复的行。如果“数量”列为 3,则该行将转换为三个重复行。
【问题讨论】:
-
stackoverflow.com/help/mcve -- 您为此编写的代码在哪里,得到了什么输出?您已经很好地描述了所需的输出,但是这似乎没有 StackOverflow 问题。请记住,SO 是用于代码修复而不是代码设计和编写。
-
@Prune 我不同意,这似乎符合特定编程问题的描述。 OP 可以使用一些指导来确定解决该问题的有效方法。有时,一个人甚至不知道从哪里开始,一个丑陋的解决方案只会使问题变得混乱并浪费每个人的时间。
-
我很欣赏@Prune 的建议,我大体上同意它。我认为这是过滤纯粹懒惰问题的好方法。虽然这个问题确实让我感到困惑,但我无法为解决方案提供一个有意义的起点。