我已经得到了已被分组两列名分组一个数据帧,让我们说的标题是这样的:大熊猫访问GROUPBY列数据
A, B, C, D, E, F
IdxA, IdxB
derp foo 1 5 6 3 2 1
derp bar 2 3 4 1 9 0
...
对于每个IdxB我想所有的列表在COLS E和Fn键,目前我使用的是循环从D唯一值的列表中的唯一值对,这是这样的:
for (IdxA, IdxB), tbl in grouped:
pairValues = tbl[['E', 'F']].drop_duplicates()
E_unique = tbl['D'].unique()
print IdxB
print E_unique
for _, row in pairValues.iterrows():
print row['E'] + ' ' + row['F']
print
我觉得有一个更好的方式来做到这一点,但我对熊猫有一点小菜......有没有更好的方法,或者我做了足够的“pythonic”w唉?
注意:单元格实际上包含文本数据而不是数字,我只是为了简单而使用数字。
一个例子输出:
IdxB Name (eg. foo)
List of unique values belonging to IdxB (content is IP addresses)
List of unique string pairs from ['E','F'] belonging to IdxB (content is strings)
非常感谢
你能不能给一个较长的数据为例(超过两行),也是你预期产出的一个例子? –
我看错了你的问题,还是只想返回IdxA,IdxB,E,F和D的每一个独特组合? – exp1orer
好吧,D是IP地址列表。 E和F都是字符串。我认为数据并不重要。我想打印(或返回)的是Idx名称,IP列表以及来自E,F的属于相应Idx的字符串列表。我将在帖子中添加一个示例输出。谢谢! – Blark