因此,在 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/