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)。