【问题标题】:How can I do to remove $我该怎么做才能删除 $
【发布时间】:2018-10-14 14:02:23
【问题描述】:

您好,我有这个文件:

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]

但我想使用 pandas 从我的所有列中删除 $

有什么想法吗?

谢谢!

【问题讨论】:

    标签: python python-3.x python-2.7 pandas


    【解决方案1】:
    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 方法相反)。

    【讨论】:

      【解决方案2】:

      这应该可行。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        相关资源
        最近更新 更多