Как я могу сделать, чтобы удалить $ - PullRequest
0 голосов
/ 14 октября 2018

Здравствуйте, у меня есть этот файл:

date;category_name;item_number;item_description;bottlevolume_ml;state_bottle_retail;bottles_sold;volume_sold_gallons
11/04/2015;APRICOT$ BRANDIES;54436;$Mr. Boston Apricot Brandy;750;6.75;12;2.38
03/02/2016;BLENDED WHISKIES;27605;Tin Cup;750;$20.63;2;0.40
02/11/2016;STRAIGHT BOURBON WHISKIES;19067;Jim Beam;1000;$18.89;24;6.34
02/03/2016;AMERICAN COCKTAILS;59154;1800 Ultimate Margarita;1750;$14.25;6;2.77
08/18/2015;VODKA 80 PROOF;35918;Five O'clock Vodka;1750;$10.80;12;5.55

Я хотел бы удалить $, используя panda.

Я пробовал это:

import pandas as pd
import numpy as np
df = pd.read_csv('data2.csv', delimiter=';')

df.date = [x.strip('$') for x in df.date]
df.category_name = [x.strip('$') for x in df.category_name]
df.item_number = [x.strip('$') for x in df.ite_number]

Но я бы хотелкак использование панд для удаления из всех моих столбцов $

Есть идеи?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Это должно работать.

df = df.apply(lambda x: x.str.strip('$') if x.dtype == "object" else x)

0 голосов
/ 14 октября 2018
for c in df.select_dtypes('object').columns:
    df[c] = df[c].str.replace('$', '')

Объяснение: Если у столбца есть '$', это будет столбец типа объекта.Полезно выбирать только эти, потому что тогда вы можете использовать .str.replace (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.replace.html), чтобы найти все знаки «$» в этом столбце и заменить его пустой строкой.
Не то чтобы это решение такжеудаляет '$' в середине строки (в отличие от метода .strip, который вы использовали до сих пор).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...