【发布时间】:2017-09-25 17:37:00
【问题描述】:
我有一个数据框,我不想根据一列的值在循环中创建子集。
这是一个例子 df :
c1 c2 c3
A 1 2
A 2 2
B 0 2
B 1 1
我想像这样循环创建子集
第一次迭代,选择 C1=A 的所有行,只选择第 2 列和第 3 列,第二次,选择 C1=B 的所有行,只选择 C2 和 3。
我尝试了以下代码:
for level in enumerate(df.loc[:,"C1"].unique()):
df_s = df.loc[df["C1"]==level].iloc[:, 1:len(df.columns)]
#other actions on the subsetted dataframe
但未执行子集。 如何遍历列的级别
例如在 R 中它会是
for (le in levels(df$C1){
dfs <- df[df$C1==le,2:ncol(df)]
}
谢谢
【问题讨论】:
标签: python pandas loops subset levels