Pandas 如何根据列的值划分列?

Pandas 如何根据列的值划分列?,pandas,slice,Pandas,Slice,我正在玩泰坦尼克号的幸存者数据库,我创建了一个单独的数据框,其中只包括“票价”和“舱位”列。 “票价”列已排序,数据框如下所示: Fare Cabin 732 0.0000 NaN 413 0.0000 NaN 806 0.0000 A36 266 0.0000 NaN 633 0.0000 NaN 674 0.0000 NaN 815 0.0000

我正在玩泰坦尼克号的幸存者数据库,我创建了一个单独的数据框,其中只包括“票价”和“舱位”列。 “票价”列已排序,数据框如下所示:

      Fare        Cabin
732  0.0000          NaN
413  0.0000          NaN
806  0.0000          A36
266  0.0000          NaN
633  0.0000          NaN
674  0.0000          NaN
815  0.0000         B102
372  0.0000  B52 B54 B56
21   3.1708          NaN
378  4.0125          NaN
872  5.0000  B51 B53 B55
     Fare        Cabin
679  512.3292  B51 B53 B55
737  512.3292         B101
258  512.3292          NaN
343  512.3292  B51 B53 B55
152       NaN          NaN
票价一路上涨500.0000美元。 因此,数据库的尾部如下所示:

      Fare        Cabin
732  0.0000          NaN
413  0.0000          NaN
806  0.0000          A36
266  0.0000          NaN
633  0.0000          NaN
674  0.0000          NaN
815  0.0000         B102
372  0.0000  B52 B54 B56
21   3.1708          NaN
378  4.0125          NaN
872  5.0000  B51 B53 B55
     Fare        Cabin
679  512.3292  B51 B53 B55
737  512.3292         B101
258  512.3292          NaN
343  512.3292  B51 B53 B55
152       NaN          NaN

我想在100秒前分解这个数据帧。因此,一个数据帧将由0~100的票价值组成,下一个数据帧将是101~200,依此类推。我和groupby一起玩,但什么也没得到。我被难住了。谢谢

你可以简单地写:

df100 = df[(df.Fare < 100)]
df200 = df[(df.Fare > 100) & (df.Fare < 200)]
df100=df[(df.Fare<100)]
df200=df[(df.Fare>100)和(df.Fare<200)]

以此类推

考虑
df

df = pd.DataFrame(dict(Fare=np.arange(500), Cabin='a'))
使用
pd.cut
获取分类GroupInt

cut = pd.cut(df.Fare, np.arange(7) * 100, include_lowest=True)
这就足够使用pd.get_假人了

pd.get_dummies(cut)
或者你可以用它来分组

gp = df.groupby(cut)

谢谢有没有办法重复这个?谢谢,这是我第一次看到切割。我和groupby和cut一起工作。当我使用get_假人时,我只得到布尔值(1和0)。