【发布时间】:2019-01-07 23:09:25
【问题描述】:
python itertools 组合库可以用于对象而不是列表吗?
例如,我如何在以下数据上使用它?
Rahul - 20,000 - Mumbai
Shivani - 30,000 - Mumbai
Akash - 40,000 - Bangalore
我想要姓名和组合工资值的所有可能组合。
如何使用 combinations 执行此操作?
假设使用pd.read_csv 读取数据并存储。
到目前为止的代码 -
import pandas as pd
import itertools
df = pd.read_csv('stack.csv')
print (df)
for L in range(0, len(df)+1):
for subset in itertools.combinations(df['Name'], L):
print (subset)
输出
Name Salary City
0 Rahul 20000 Mumbai
1 Shivani 30000 Mumbai
2 Akash 40000 Bangalore
()
('Rahul',)
('Shivani',)
('Akash',)
('Rahul', 'Shivani')
('Rahul', 'Akash')
('Shivani', 'Akash')
('Rahul', 'Shivani', 'Akash')
Process finished with exit code 0
如何将工资添加到这些组合中?
【问题讨论】:
-
您能打印 df.head(5) 以了解输入格式吗?
-
欢迎来到 SO。请花时间阅读minimal reproducible example、How to Ask 以及该页面上的其他链接。
-
现在好点了吗?
-
你想要的输出是什么?您想要将薪水与姓名连接起来(即,Rahul 总是有 20000),还是想要(姓名、薪水、姓名、薪水)的组合(即,有些项目 Rahul 有 20000、30000 和 40000)?
-
请修正您的代码缩进。
标签: python python-3.x pandas combinations itertools