如何使用 Pandas 查找多列的行值
How to find row value for multiple columns using Pandas
我有以下数据集:
我想查找 PUBG MOBILE 游戏的平均用户评分和用户评分计数。
我尝试了以下行,但它根本不起作用:
df.loc[df['Name']['Average.User.Rating']['User.Rating.Count'] == 'PUBG MOBILE']
我还会找到平均用户评分≥ 4.5 且用户评分数≥ 300000 的策略游戏的名称,但我不知道应用它们的概念。
新请求:我将使用 Price 变量在名为 FREE 的数据集中创建一个新列。如果游戏是免费的,FREE 变量的值应该是 True,如果游戏不是免费的,则应该是 False。
你可以这样做:
df.query('Name == "PUBG MOBILE"')[['Average.User.Rating','User.Rating.Count']]
对于你的第二个请求,你可以试试这个:
df
ID Name Average.User.Rating User.Rating.Count
0 23223355 Sudoku 4.5 300000
1 15115555 Reversi 3.5 285662
df['Name'][(df['Average.User.Rating'] >= 4.5) & (df['User.Rating.Count'] >= 300000)]
0 Sudoku
我创建了一个示例数据来仅应用您想要的输出,但如 Onyambu 的评论所述,共享一个可重现的示例是必不可少的:
{'ID': {0: 23223355, 1: 15115555}, 'Name': {0: 'Sudoku', 1: 'Reversi'},
'Average.User.Rating': {0: 4.5, 1: 3.5}, 'User.Rating.Count': {0: 300000, 1: 285662}}
根据 OP 的新要求更新了答案:
df['FREE'] = df.apply(lambda x: 'Not Free' if x['Price'] else 'Free', axis = 1)
df
ID Name Average.User.Rating User.Rating.Count Price FREE
0 23223355 Sudoku 4.5 300000 0.00 Free
1 15115555 Reversi 3.5 285662 1.25 Not Free
我有以下数据集:
我想查找 PUBG MOBILE 游戏的平均用户评分和用户评分计数。
我尝试了以下行,但它根本不起作用:
df.loc[df['Name']['Average.User.Rating']['User.Rating.Count'] == 'PUBG MOBILE']
我还会找到平均用户评分≥ 4.5 且用户评分数≥ 300000 的策略游戏的名称,但我不知道应用它们的概念。
新请求:我将使用 Price 变量在名为 FREE 的数据集中创建一个新列。如果游戏是免费的,FREE 变量的值应该是 True,如果游戏不是免费的,则应该是 False。
你可以这样做:
df.query('Name == "PUBG MOBILE"')[['Average.User.Rating','User.Rating.Count']]
对于你的第二个请求,你可以试试这个:
df
ID Name Average.User.Rating User.Rating.Count
0 23223355 Sudoku 4.5 300000
1 15115555 Reversi 3.5 285662
df['Name'][(df['Average.User.Rating'] >= 4.5) & (df['User.Rating.Count'] >= 300000)]
0 Sudoku
我创建了一个示例数据来仅应用您想要的输出,但如 Onyambu 的评论所述,共享一个可重现的示例是必不可少的:
{'ID': {0: 23223355, 1: 15115555}, 'Name': {0: 'Sudoku', 1: 'Reversi'},
'Average.User.Rating': {0: 4.5, 1: 3.5}, 'User.Rating.Count': {0: 300000, 1: 285662}}
根据 OP 的新要求更新了答案:
df['FREE'] = df.apply(lambda x: 'Not Free' if x['Price'] else 'Free', axis = 1)
df
ID Name Average.User.Rating User.Rating.Count Price FREE
0 23223355 Sudoku 4.5 300000 0.00 Free
1 15115555 Reversi 3.5 285662 1.25 Not Free