首页 > 解决方案 > 返回剥离数据帧的函数

问题描述

我有一个来自 CSV 文件的数据框:

import pandas as pd

filename = 'mike.csv'
main_df = pd.read_csv(filename)

我需要一个函数,该函数将从空格中删除所有字符串列(也有数字列)的内容,然后返回此类删除的数据帧。在下面的函数中,剥离似乎工作正常,但我不知道如何返回剥离的数据帧:

def strip_whitespace(dataframe):
    dataframe_strings = dataframe.select_dtypes(['object'])
    dataframe[dataframe_strings.columns] = dataframe_strings.apply(lambda x: x.str.strip())
    return # how to return a stripped dataframe here?

完整代码:

import pandas as pd

filename = 'mike.csv'
main_df = pd.read_csv(filename)

def strip_whitespace(dataframe):
    dataframe_strings = dataframe.select_dtypes(['object'])
    dataframe[dataframe_strings.columns] = dataframe_strings.apply(lambda x: x.str.strip())
    return stripped_dataframe # ?

stripped_main_df = strip_whitespace(main_df) # should be stripped df

标签: pythonpandasfunctionstripremoving-whitespace

解决方案


我相信需要skipinitialspace=True参数read_csv

main_df = pd.read_csv(filename, skipinitialspace=True)

然后不需要剥离列。


但如果需要使用您的功能:

return dataframe

推荐阅读