首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Pandas -重命名列后的分段错误?

Python Pandas -重命名列后的分段错误?
EN

Stack Overflow用户
提问于 2016-07-22 02:51:20
回答 1查看 232关注 0票数 2

因此,在pandas中创建数据帧后,我有一个大写标题的函数。但是,当我尝试在大写后访问数据帧信息时,我得到了一个分段错误。如果我在应用函数之前尝试访问它,就不会有任何问题。我能做错什么呢?

代码语言:javascript
运行
复制
reader = pd.read_csv(inFile)

def capitalize_headers(df):
    for i in range(len(list(df.columns.values))):
        df.columns.values[i] = (df.columns.values[i]).upper()

capitalize_headers(reader)

print reader['ColumnName']
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-22 02:53:40

如果所有列名都是大写的,那么访问包含小写字符的列将抛出错误。

具体地说,这行

代码语言:javascript
运行
复制
df.columns.values[i] = (df.columns.values[i]).upper()

'columnname'转换为'COLUMNNAME'。Pandas中的列访问是区分大小写的,所以现在可以用df['COLUMNNAME']访问该列。

另外,这里有一种使用Pandas str methods的更有效/pythonic式的方法。

代码语言:javascript
运行
复制
df.columns = df.columns.str.capitalize()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38512205

复制
相关文章

相似问题

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