首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python替换获取IndexError的列:索引8超出了大小为8的轴0的界限

Python替换获取IndexError的列:索引8超出了大小为8的轴0的界限
EN

Stack Overflow用户
提问于 2020-05-18 05:49:01
回答 2查看 38关注 0票数 0

我不确定我在这里做错了什么,但我想用column_names列表中的相应名称替换初始列名。

代码语言:javascript
复制
column_names = ['FIPS','Admin2','Province_State','Country_Region','Last_Update','Lat','Long_','Confirmed','Deaths','Recovered','Active','Combined_Key']
df.columns = ['Province/State', 'Country/Region', 'Last Update', 'Confirmed',
       'Deaths', 'Recovered', 'Latitude', 'Longitude']

def replace_cols(df, new_columns):
    k = 0
    for i in df.columns:
        for j in column_names:
            seq = difflib.SequenceMatcher(None,i, j).ratio()*100
            if seq >= 50:
                newcol = re.sub(i, j, i)
                df.columns.values[k] = newcol
                print(newcol)
                k += 1
EN

回答 2

Stack Overflow用户

发布于 2020-05-18 06:04:17

将阈值从50增加到54会起作用:

代码语言:javascript
复制
import re

column_names = ['FIPS','Admin2','Province_State','Country_Region','Last_Update','Lat','Long_','Confirmed','Deaths','Recovered','Active','Combined_Key']
# df.columns = ['Province/State', 'Country/Region', 'Last Update', 'Confirmed','Deaths', 'Recovered', 'Latitude', 'Longitude']
cols = ['Province/State', 'Country/Region', 'Last Update', 'Confirmed','Deaths', 'Recovered', 'Latitude', 'Longitude']
df = pd.DataFrame([], columns=cols)


def replace_columns(df, new_columns):
    k = 0
    for i in df.columns:
        print('Old col', i, k)
        for j in column_names:
            seq = difflib.SequenceMatcher(None,i, j).ratio()*100
            if seq >= 54:
                newcol = re.sub(i, j, i)
                print('Newcol ', newcol)
                df.columns.values[k] = newcol
                k += 1
    return df
票数 0
EN

Stack Overflow用户

发布于 2020-05-18 06:04:46

这是因为Lat/ last _update都改变了值Latitude (相似度超过50%),所以在最后一个循环中,您的代码首先用latitude替换Last_update,然后用latitude替换Lat,然后超出df的长度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61859276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档