对数据帧进行永久性更改

2024-09-30 10:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

如果这听起来像是一个非常愚蠢的问题,我很抱歉,但我正在尝试学习Python,我无法用我的生命来理解这个问题。我在其他语言方面有一些扎实的经验,但我已经在这门语言上呆了几天了

我相信答案很简单,但尽管我努力尝试,我还没有找到任何关于这个主题的线索

如果有帮助的话,我将VSCode与CodeRunner一起使用

我正在使用nba_api.stats处理NBA数据

在调用api并将数据作为dataframe导入之后,我将使用原始数据的子集构建一个新的dataframe

在:

from nba_api.stats import endpoints
df = data.league_leaders.get_data_frame()

dfTOR = pd.DataFrame(df.loc[df['TEAM'] == 'TOR'])

现在,我正试图通过删除列、计算新的统计数据和对数据进行排序来修改我的新数据框dfTOR

在:

for stat in dfTOR[:]:
    if 'PTS' 'FGA' 'REB' 'AST' 'STL' 'BLK' in stat:
        dfTOR = round(dfTOR[:]/dfTOR.GP, 2)

dfTOR = dfTOR.sort_values(by = ['FGA', 'PTS'], ascending = False)

dfTOR = dfTOR.drop(dfTOR.loc[:, 'OREB':'STL_TOV'].columns, axis=1) 
dfTOR = dfTOR.drop(dfTOR.loc[:, 'GP':'FGA'].columns, axis=1) 

我尝试过使用不同的方法来实现上述目标。但每当我调用dfTOR或将其导出到Excel时,我所做的任何更改(不管是哪一个)都不会反映出来

在:

print(dfTOR)
dfTOR.to_excel("Raptors.xlsx")

我相信这是一个非常基本的问题,但我想不出来。任何帮助都将不胜感激

顺便说一句,我尝试过使用dataframe.update函数,但这似乎也没有帮助

谢谢


Tags: 数据inapi语言dataframedfdatastats
1条回答
网友
1楼 · 发布于 2024-09-30 10:33:14

不确定您的预期输出是什么,但很多问题都与您的语法有关

这里有一些变化,如果你愿意的话,你可以玩一下

from nba_api.stats import endpoints
import pandas as pd


data = endpoints.leagueleaders.LeagueLeaders() 
df = data.league_leaders.get_data_frame()

dfTOR = pd.DataFrame(df[df['TEAM'] == 'TOR'])



for stat in dfTOR.columns:
    if stat in ['PTS', 'FGA', 'REB', 'AST', 'STL', 'BLK']:
        dfTOR[stat + '_PER_GAME'] = round(dfTOR[stat]/dfTOR.GP, 2)
        

dfTOR = dfTOR.sort_values(by = ['FGA', 'PTS'], ascending = False)

dfTOR = dfTOR.drop(['OREB','STL_TOV'], axis=1) 
dfTOR = dfTOR.drop(['GP','FGA'], axis=1) 

print(dfTOR)
dfTOR.to_excel("Raptors.xlsx")

相关问题 更多 >

    热门问题