【发布时间】:2017-05-26 15:04:40
【问题描述】:
熊猫新手问题:
我有一个包含数百万行的数据框,示例输出为:
c_id c1 c2
0 10 100
0 15 110
0 15 112
2 96 120
56 43 42
对于每个 customer_id,我想创建一个表来做一些事情。最好的方法是什么? 我按 c_id 对数据框进行排序,然后为其设置索引:
df = df.sort('c_id', ascending=False)
df = df.set_index('c_id')
不过是一个简单的操作,比如:
temp_df = df.loc[:0]
需要很长时间,解决这个问题的最快方法是什么? 我认为排序的 set_index 可以解决问题。我猜不是。
EDIT1:
我想为 c_id 的每个值获取 c1 的所有唯一值的列表。就像这样:
df.loc[:0].c1.unique()
【问题讨论】:
-
可能有很多不同的方法,具体取决于“你想用你的 DF 子集做的事情”。尝试解释您想要实现的目标并发布您想要的数据集...
-
拥有非唯一索引是不好的,你最好只在
c_id上grouping,然后你可以只做gp.get_group(your_c_id)给你一个特定的组但是您需要对groupby对象进行一些聚合才能返回 series/df
标签: pandas