Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 排序函数无法识别列_Python_Pandas_Dataframe - Fatal编程技术网

Python 排序函数无法识别列

Python 排序函数无法识别列,python,pandas,dataframe,Python,Pandas,Dataframe,我试图按字母顺序组织df,但当我使用sort\u值按状态排序时,什么也没发生。我认为数据是如何提取的存在问题,因为我得到了一个无法识别“状态”的关键错误。我应该使用rename函数而不是像我那样重命名列吗 import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime def load_data(): # importing datasets df_2017=pd.r

我试图按字母顺序组织df,但当我使用
sort\u值按状态排序时,什么也没发生。我认为数据是如何提取的存在问题,因为我得到了一个无法识别“状态”的关键错误。我应该使用
rename
函数而不是像我那样重命名列吗

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import datetime

def load_data():

    # importing datasets
    df_2017=pd.read_excel('assets/US_States_Visited_2017.xlsx', skiprows=6,skipfooter=13)
    df_2018=pd.read_excel('assets/US_States_Visited_2018.xlsx', skiprows=7,skipfooter=7)
    df_2019=pd.read_excel('assets/US_States_Visited_2019.xlsx', skiprows=6,skipfooter=8)
    
    # renaming columns
    df_2017.columns = ['2017_rank','state','2016_market_share','visitation_2016','2017_market_share','visitation_2017','volume_change']
    df_2018.columns = ['2018_rank','state','2018_market_share','visitation_2018','volume_change','2017_market_share','visitation_2017']
    df_2019.columns = ['2019_rank','state','2019_market_share','visitation_2019','volume_change','2018_market_share','visitation_2018']
    
    # stripping state names
    df_2017['state'] = df_2017['state'].str.strip()
    df_2018['state'] = df_2018['state'].str.strip()
    df_2019['state'] = df_2019['state'].str.strip()
    
    # dropping all columns except for relevent state and visitation columns
    df_2017.drop(df_2017.columns[[0,2,4,6]], axis=1,inplace=True)
    df_2018.drop(df_2018.columns[[0,2,4,5,6]], axis=1,inplace=True)
    df_2019.drop(df_2019.columns[[0,2,4,5,6]], axis=1,inplace=True) 
    
    # multiplying visitation by 1000 to get accurate value
    df_2017['visitation_2016'] = df_2017['visitation_2016']*1000
    df_2017['visitation_2017'] = df_2017['visitation_2017']*1000
    df_2018['visitation_2018'] = df_2018['visitation_2018']*1000
    df_2019['visitation_2019'] = df_2019['visitation_2019']*1000
    
    # starting output at state column
    df_2017=df_2017.set_index('state')
    df_2018=df_2018.set_index('state')
    df_2019=df_2019.set_index('state')
    
    # merging all datasets by state variable
    merged_US_states_visitation = df_2017.merge(df_2018,on='state',how= 'left').merge(df_2019,on='state',how='right')
    
    #sorting by name
    merged_US_states_visitation.sort_values(by=['state'])
    
    return merged_US_states_visitation

load_data().head(25)

当您的目标是索引时,您正在尝试i)对值进行排序;ii)您没有分配排序结果。配合:

merged_US_states_visitation.sort_index(inplace=True)
当您的目标是索引时,您正尝试i)对_值进行排序;ii)您没有分配排序结果。配合:

merged_US_states_visitation.sort_index(inplace=True)