Процесс для нескольких столбцов - PullRequest
0 голосов
/ 03 октября 2019

У меня есть этот код, который работает для одной серии панд. Как применить его ко всем столбцам моего большого набора данных? Я перепробовал много решений, но ни одно из них не работает для меня.

c = data["High_banks"]
c2 = pd.to_numeric(c.str.replace(',',''))
data = data.assign(High_banks = c2)

Каков наилучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 03 октября 2019

Я думаю, что вы можете сделать это следующим образом

df = df.replace(",","",regex=True )

, после чего вы можете преобразовать тип данных

0 голосов
/ 03 октября 2019

Вы можете использовать комбинацию методов apply и applymap.

. Возьмем для примера:

df = pd.DataFrame([['1,', '2,12'], ['3,356', '4,567']], columns = ['a','b'])

new_df = (df.applymap(lambda x: x.replace(',',''))
          .apply(pd.to_numeric, axis = 1))

new_df.dtypes

>> #successfully converted to numeric types
a    int64
b    int64
dtype: object

Первый метод, applymap, запускает поэлементнона кадре данных для удаления ,, затем apply применяет функцию pd.to_numeric по оси столбцов кадра данных.

...