Python中文
首页
教程
问答
标签
搜索
登录
注册
Python/Pandas中沿水平行的百分位数
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要在一个数据帧中,沿行计算不同的百分位数到一列。例如:</p> <pre><code>df['P90'] = df[['col1','col2','col3','col4','col5']].apply(quantile(0.9), axis=1) df['P50'] = df[['col1','col2','col3','col4','col5']].apply(quantile(0.5), axis=1) </code></pre> <p>我有以下数据帧:</p> <pre><code>ID 2019/31 2019/32 2019/33 2019/34 2019/35 2019/36 2019/37 2019/38 2019/39 2019/40 258101 67000 258102 56750 19105 35990 41250 44425 51275 1071 8125 16375 258103 8528 6853 3291 3000 5640 11248 258104 27532 19523 12092 7933 8675 435 1045 5115 1450 258105 40000 285500 16500 </code></pre> <p>我需要以下格式的输出:</p> <pre><code>ID 2019/31 2019/32 2019/33 2019/34 2019/35 2019/36 2019/37 2019/38 2019/39 2019/40 P_50 P_90 258101 67000 x1 x2 258102 56750 19105 35990 41250 44425 51275 1071 8125 16375 x3 x4 258103 8528 6853 3291 3000 5640 11248 x5 x6 258104 27532 19523 12092 7933 8675 435 1045 5115 1450 x7 x8 258105 40000 285500 16500 x9 x10 </code></pre> <p>我尝试了以下方法:</p> <pre><code>cols = ['2019/31', '2019/32', '2019/33', '2019/34', '2019/35', '2019/36', '2019/37', '2019/38', '2019/39', '2019/40'] df['P_50'] = df[cols].apply(np.median, axis=1) df['P_50'] = df[cols].apply(np.quantile(0.5), axis=1) perc99 = np.vectorize(lambda x: np.percentile(x, 50)) df['P_50'] = perc99(df[cols].values) </code></pre> <p>所有这些都没有提供所需的输出</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我把你的df从帖子上删掉了。这就是你想做的吗</p> <pre><code>df['P_50'] = df.iloc[:,1:-1].median(axis=1) df['P_50'] = df.iloc[:,1:-1].quantile(0.5, axis=1) </code></pre> <p>这不包括ID列</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
9 回答
无法使用Django\u mssql\u后端迁移到外部hos
5 回答
无法使用Django&Python3.4连接到MySql
7 回答
无法使用Django+nginx上载媒体文件
1 回答
无法使用Django1.6导入名称模式
9 回答
无法使用Django1.7和mongodb登录管理站点
9 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
7 回答
无法使用Djangockedi验证CBV中的字段
8 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
3 回答
无法使用Djangofiler djang上载文件
4 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
5 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
10 回答
无法使用Djangopython3ldap连接到ldap
8 回答
无法使用Djangoredis连接到redis
7 回答
无法使用Django中的FK创建新表
8 回答