Pandas 部分字符串排序和分位数
Pandas Partial String Sort and Quantiles
我正在尝试将以下数据分组为以下表格中来自以下熊猫 DF 的子集,并按季度分组(Q1、Q2、Q3、Q4):
YearMonth adjusted_power
0 1991Q1 16484.966667
1 1991Q2 14882.566667
2 1991Q3 12983.133333
3 1991Q4 19288.500000
4 1992Q1 19893.600000
5 1992Q2 15904.233333
6 1992Q3 14783.000000
7 1992Q4 18405.500000
8 1993Q1 22045.600000
9 1993Q2 12143.776667
我试过类似的方法,但我无法获得我正在寻找的答案。这是我的尝试:
q1 = Qdata['YearMonth'].str.contains('Q1').groupby(Qdata['adjusted_power']).quantile(0.25)
Qdata['YearMonth'].str.contains('Q1')['adjusted_power'].quantile(0.25)
我的最终答案应该是这样的:
Q1(0.25) result
Q1(0.50) result
Q1(0.75) result
...
Q4(0.75) result
感谢您对我可以尝试的事情的帮助。
IIUC,您想要 groupby
个季度,您可以使用 str[-2:]
访问 YearMonth 的最后两个字符以获得该季度。
s = Qdata['adjusted_power'].groupby(Qdata['YearMonth'].str[-2:]).quantile([0.25, 0.5,0.75])
print (s)
YearMonth
Q1 0.25 18189.283333
0.50 19893.600000
0.75 20969.600000
Q2 0.25 13513.171667
0.50 14882.566667
0.75 15393.400000
Q3 0.25 13433.100000
0.50 13883.066666
0.75 14333.033333
Q4 0.25 18626.250000
0.50 18847.000000
0.75 19067.750000
Name: adjusted_power, dtype: float64
我正在尝试将以下数据分组为以下表格中来自以下熊猫 DF 的子集,并按季度分组(Q1、Q2、Q3、Q4):
YearMonth adjusted_power
0 1991Q1 16484.966667
1 1991Q2 14882.566667
2 1991Q3 12983.133333
3 1991Q4 19288.500000
4 1992Q1 19893.600000
5 1992Q2 15904.233333
6 1992Q3 14783.000000
7 1992Q4 18405.500000
8 1993Q1 22045.600000
9 1993Q2 12143.776667
我试过类似的方法,但我无法获得我正在寻找的答案。这是我的尝试:
q1 = Qdata['YearMonth'].str.contains('Q1').groupby(Qdata['adjusted_power']).quantile(0.25)
Qdata['YearMonth'].str.contains('Q1')['adjusted_power'].quantile(0.25)
我的最终答案应该是这样的:
Q1(0.25) result
Q1(0.50) result
Q1(0.75) result
...
Q4(0.75) result
感谢您对我可以尝试的事情的帮助。
IIUC,您想要 groupby
个季度,您可以使用 str[-2:]
访问 YearMonth 的最后两个字符以获得该季度。
s = Qdata['adjusted_power'].groupby(Qdata['YearMonth'].str[-2:]).quantile([0.25, 0.5,0.75])
print (s)
YearMonth
Q1 0.25 18189.283333
0.50 19893.600000
0.75 20969.600000
Q2 0.25 13513.171667
0.50 14882.566667
0.75 15393.400000
Q3 0.25 13433.100000
0.50 13883.066666
0.75 14333.033333
Q4 0.25 18626.250000
0.50 18847.000000
0.75 19067.750000
Name: adjusted_power, dtype: float64