熊猫,创建一个将字符串列转换为整数的数据框

时间:2020-05-16 09:57:19

标签: python pandas

我有以下要导入到Pandas DataFrame中的CSV文件

CSV File

这里没有显示,但是数据类型是字符串。

因此,当我尝试启动DataFrame时尝试将数据类型更改为整数时,会出现错误:


DTYPES = {
    'Money(ILS)': TypesConsts.FLOAT,
    'Money(USD) ': TypesConsts.FLOAT,
    'Total Invested(USD) ': TypesConsts.FLOAT,
    'Nominal(USD)': TypesConsts.FLOAT,
    'Realized(USD)': TypesConsts.FLOAT,
    'Years Past(Years)': TypesConsts.FLOAT,
    'Tot Time(Years)': TypesConsts.FLOAT,
    'Charges(USD)': TypesConsts.FLOAT,
    'Actual Money(USD)': TypesConsts.FLOAT,
    'VHVE(Amount)': TypesConsts.INT,
    'VHVE(Purchase)': TypesConsts.FLOAT,
    'VHVE(Per Unit)': TypesConsts.FLOAT,
    'AAPL(Amount)': TypesConsts.INT,
    'AAPL(Purchase)': TypesConsts.FLOAT,
    'AAPL(Per Unit)': TypesConsts.FLOAT,
    'Margin left(USD)': TypesConsts.FLOAT,
    'Margin added(ILS)': TypesConsts.FLOAT,
    'Gross Profit(USD)': TypesConsts.FLOAT,
    'Net. Profit(USD)': TypesConsts.FLOAT,
    'Total Charges': TypesConsts.FLOAT
}

DATES_COL = ['Date']


class OrderData:
    df = pd.read_csv(PATH,
                     dtype=DTYPES,
                     parse_dates=DATES_COL
                     )

我收到以下错误:

ValueError: could not convert string to float: '₪77,000.00'

在启动DataFrame之后,我不想在每一列中都使用pd.astype。

那么我可以在创建DataFrame时更改数据类型吗?

1 个答案:

答案 0 :(得分:0)

由于Unicode字符,您的错误即将到来,因此无法将其转换为$lower = mb_strtolower($name,"UTF-8"); $first = $lower[0]; $profile_image = $first.".jpg"; 。在尝试转换为float之前,请先清洁字符串。