Python Pandas - 重命名列后出现段错误?

标签 python function pandas

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

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']

最佳答案

如果将所有列名都大写,则访问包含小写字符的列将引发错误。

具体来说,该行

df.columns.values[i] = (df.columns.values[i]).upper()

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

此外,这是一种更有效/Pythonic 的方法,使用 Pandas str methods 来执行此操作。 .

df.columns = df.columns.str.capitalize()

关于Python Pandas - 重命名列后出现段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38512205/

相关文章:

javascript - 返回函数 - 的函数?

python - 如何在不连接的情况下读取 Python 数据框中的数据?

python - 计算列表中唯一的相交集

python - SFrame 中的字符串对象到日期时间对象

c - 使用字符串作为函数的参数

python - Pandas-通过对列和索引的值求和来合并两个数据帧

python , Pandas : Compare two dataframes and return combined

python - 如何将解析后的 xml 保存为 txt?

python - autotools 和 python setup.py

math - 绘制2D隐式标量场的等值线