Python 基于条件对变量进行分组

Python 基于条件对变量进行分组,python,loops,dataframe,group-by,conditional-statements,Python,Loops,Dataframe,Group By,Conditional Statements,将以下数据分组为64个组。每个对象有两个变量x和y。我想根据一个条件对他们进行分组。x和y的范围都在0到2000之间,我想把它们分成64个组。第一个让x使用pd.cut()将变量放入x-和y-类别中,然后根据一些逻辑构造它们的组(取决于您是否需要特定的顺序,下面的代码只是从下到上和从左到右排列单元格) 请注意,.astype(np.int8)-调用是一种变通方法,允许使用pandas.Series进行基本的数学运算。如果您不想存储中间装箱分配,可以在一行中完成所有这一切,方法是用我最后一行中的列

将以下数据分组为64个组。每个对象有两个变量x和y。我想根据一个条件对他们进行分组。x和y的范围都在0到2000之间,我想把它们分成64个组。第一个让x使用
pd.cut()
将变量放入
x
-和
y
-类别中,然后根据一些逻辑构造它们的组(取决于您是否需要特定的顺序,下面的代码只是从下到上和从左到右排列单元格)

请注意,
.astype(np.int8)
-调用是一种变通方法,允许使用
pandas.Series
进行基本的数学运算。如果您不想存储中间装箱分配,可以在一行中完成所有这一切,方法是用我最后一行中的列引用替换前面几行中的分配:

df['group'] = pd.cut(df['x'], bins, labels=labels).astype(np.int8) + pd.cut(df['y'], bins, labels=labels).astype(np.int8).multiply(8)

没有什么是清楚的。如果你能重新构建你的问题的框架,添加样本数据,并具体说明你需要什么来使用熊猫的条件句,你可以试试df2=df1[df1.iloc[:,0]>一些东西]很抱歉,我没有注意到,现在应该更好了
bins = [250 * i for i in range(9)]
labels = list(range(8))
df['x_bin'] = pd.cut(df['x'], bins, labels=labels)
df['y_bin'] = pd.cut(df['y'], bins, labels=labels)
df['group'] = df['x_bin'].astype(np.int8) + df['y_bin'].astype(np.int8).multiply(8)
df['group'] = pd.cut(df['x'], bins, labels=labels).astype(np.int8) + pd.cut(df['y'], bins, labels=labels).astype(np.int8).multiply(8)