我已将一个 csv 文件导入到数据框中,它有大约 250 多个列,最后一列名称以“未命名:***”开头,并附加了一些数字,例如“未命名:1272”
我想获取以“未命名”开头的列名称。下面的脚本没有帮助。
dfColumns = pd.DataFrame(data.columns, columns=['columnName'])
UnnamedColumnName = str(dfColumns.loc[dfColumns['columnName'].str.contains('Unnamed')])
结果:“columnName\n1272 未命名:1272”
下面的脚本也尝试过但没有用:
data.columns.str.contains('Unnamed')
字符串变量“UnnamedColumnName”中的预期结果为“Unnamed: 1272”,我想在删除列脚本中使用此变量。
最佳答案
如果它始终是最后一列,您可以这样做
last_col = df.columns[-1]
您还可以使用rename
重命名它:
df = df.rename(columns={'new_name':df.columns[-1]})
此外,str.contains
返回与字符串匹配的列的 bool 掩码,您需要针对列数组使用此掩码:
data.columns[data.columns.str.contains('Unnamed')]
将返回一个数组,其中包含满足 bool 条件的所有列
关于python - 如何使用过滤器获取python数据框列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46093278/