大 pandas 将数据从一个df带到另一个问题 [英] pandas bring data from one df to another issue

查看:72
本文介绍了大 pandas 将数据从一个df带到另一个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含重复项的数据集:

I have a data set that has a count of duplicates:

#Count number of injuries by levels for each players
levelcount = df.groupby(['Relinquished','Severity']).size().reset_index(name='count')
levelcount['DTD'] = ''
levelcount['DNP'] = ''
levelcount['out indefinitely'] = ''
levelcount['ou t for season'] = ''
levelcount.head(4)

   Relinquished  Severity Count DTD DNP outindefinitely outforseason
0   player1         1       1
1   player1         3       1
2   player2         3       1
3   player3         1       3

我想以适当的顺序将计数值添加到其他数据框中:
1:DTD,
2:DNP,
3:无限期出局,
4:参加本赛季

I want to add the count values to a different dataframe with an appropriate order:
1:DTD,
2:DNP,
3:out for indefinitely,
4: out for the season.

我尝试使用if语句,但似乎无法取得突破.预先谢谢你!

I tried using if statements but I can't seem the make a breakthrough. Thank you in advance!

if levelcount['Severity'] == 1:
    df_extension['DTD'] = levelcount[''] 
if levelcount['Severity'] == 2:
    df_extension['DNP'] = levelcount[''] 
if levelcount['Severity'] == 3:
    df_extension['out indefinitely'] = levelcount[''] 
if levelcount['Severity'] == 4:
    df_extension['out for season'] = levelcount[''] 

在此处输入图片描述

推荐答案

使用您的解决方案可以按字典循环并设置新列:

Your solution is possible by loop by dictionary and set new columns:

levelcount = df.groupby(['Relinquished','Severity']).size().reset_index(name='count')
d = {1:'DTD',2:'DNP',3:'outindefinitely',4:'outforseason'}

for k, v in d.items():
    levecount = levelcount.loc[levelcount['Severity'] == k, v] = levelcount['count']

这篇关于大 pandas 将数据从一个df带到另一个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆