Функция для возврата разделенного кадра данных - PullRequest
0 голосов
/ 11 июня 2018

У меня есть фрейм данных из 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

1 Ответ

0 голосов
/ 11 июня 2018

Я считаю, что нужен параметр skipinitialspace=True в read_csv:

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

И тогда удаление столбцов не требуется.


Но если нужноиспользуйте вашу функцию:

return dataframe
...