我有一个名为“ df”的数据框,带有日期时间索引和四列:
A B C D
1/1/2020 0.1 0.3 0.2 0.2
1/2/2020 0.3 0.1 0.3 0.3
1/3/2020 0.2 0.2 0.3 0.1
1/4/2020 0.1 0.1 0.1 0.3
我想将数据分为4个“离散的”分位数。
如果我想对“ A”列进行此操作,则需要做的就是使用Pandas的q-cut函数,如下所示:
df["A"] = pd.qcut(df["A"], 4)
但是,问题是我想为每个日期创建分位数,即将每行(NOT列)的数据分为4个五分位数。我该怎么做?
答案 0 :(得分:0)
您可以将.apply
与axis=1
参数一起使用:
df.apply(lambda x: pd.qcut(x, 4, duplicates='drop'), axis=1)