如何使用过滤器

时间:2017-09-07 09:52:17

标签: python pandas dataframe

我已将一个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')

未命名的预期结果:1272'在字符串变量" UnnamedColumnName"中,我想在删除列脚本中使用此变量。

1 个答案:

答案 0 :(得分:2)

如果它始终是你可以做的最后一栏

last_col = df.columns[-1]

您也可以使用rename重命名:

df = df.rename(columns={'new_name':df.columns[-1]})

同样str.contains返回与字符串匹配的列的布尔掩码,您需要对列数组使用此掩码:

data.columns[data.columns.str.contains('Unnamed')]

将返回一个数组,其中包含符合布尔条件的所有列