我试图对一些销售数据进行排序,但数据是按“账单”收集的,我想查看每个账单中的项目。你知道吗
我曾尝试拆分列以获得项目列表,但它们不会按我所希望的方式运行。我尝试遍历,但我所做的只是删除每行的第一项。你知道吗
frame = {'Items': ["1 Nail, 2 Cups", "3 Nail, 1 Cups", "1 Hammer, 3 Cups"],
'Date': ['03-2019','03-2019','03-2019']}
df = pd.DataFrame(frame)
df['Items split'] = df['Items'].str.split(",")
df.head()
Items Date Items split
0 1 Nail, 2 Cups 03-2019 [1 Nail, 2 Cups]
1 3 Nail, 1 Cups 03-2019 [3 Nail, 1 Cups]
2 1 Hammer, 3 Cups 03-2019 [1 Hammer, 3 Cups]
for item in df['Items split']:
for i in item:
print (i)
1 Nail
2 Cups
3 Nail
1 Cups
1 Hammer
3 Cups
我希望能够找到每个帐单项目之间的相关性。 钉子和杯子多久一起用一次?你知道吗
但要做到这一点,我想我需要删除前面的数字,因为每个数字显示1个钉子和3个钉子是不同的。你知道吗
如果能与另一列中的数字相乘也会很有趣。所以我可以对每一项进行计数,得到总数。你知道吗
最后一部分的澄清: 假设我们有两个钉子,三个铁杯,一根稻草在一块地里。通过拆分账单和删除数字,我现在可以找到商品之间的相关性,但我看不出我们实际卖出了多少商品。如果可能的话,我想一个解决办法是把前面的整数拆分出来,再乘以项目名称。然后它看起来像钉子,钉子,铁杯,铁杯,铁杯,稻草。然后我可以数钉子出现的次数等
详细解决方案
与oneliner相同的解决方案:
两个示例的输出:
编辑:
对于您提到的计数,您可以将item数组的第一个元素强制转换为int,如下所示:
输出:
相关问题 更多 >
编程相关推荐