Python Pandas CSV删除某些列中的所有字符串

时间:2016-02-02 16:02:25

标签: python pandas dataframe

我有一个csv文件,我正在尝试删除列中只留下数字ex 1004.242的所有字符串。这是我的代码:

def grabkey_env():
    df = pandas.read_csv('/Users/eeamesX/PycharmProjects/CsvTask/FIT_TC_Resolved_JIRA2.csv', usecols=(1,10),skiprows=(0,1,2,3))
    df.columns = ['keys', 'env']


    df['env'].replace(to_replace='[^0-9]+', value=' ',regex=True)


    print df

    df.to_csv('newcsv3.csv')

我没有收到任何错误,但正则表达式也无效。它的这条线我一直想弄明白。

 df['env'].replace(to_replace='[^0-9]+', value=' ',regex=True)

1 个答案:

答案 0 :(得分:2)

也许您可以使用str.replace r'[^0-9.]+'作为EdChum建议 - 只需尝试添加fullstop .并可能帮助r并输出到原始{{1} (也许你忘记了):

df['env']

或许你可以使用:

print df['env']
0            ex 1004.242
1    ex erewrwn 1004.242
2          wqwe 1004.242
Name: env, dtype: object

df['env'] = df['env'].str.replace(r'[^0-9.]+', '')
print df['env']
0    1004.242
1    1004.242
2    1004.242
Name: env, dtype: object