【问题标题】:get ride from .0 for all elements of dataframe从 .0 获取数据框的所有元素
【发布时间】:2021-05-29 15:45:02
【问题描述】:

我有一个 csv 文件,我用这个函数读取它:

data = pd.read_csv(r"\test.csv", sep=';')

用 -99 填充 NaN

data = data.fillna(-99)

但我最后得到了数据框:

202       5092019  ...              2.7            -99.0

所以我需要从我拥有的所有元素的所有 .0 中获取骑行,所以我明白了:

202460618       5092019  ...              2.7            -99

有人有建议吗? 我应该提供更多信息吗? 非常感谢

【问题讨论】:

  • df['col'] = df['col'].astype(int) ?
  • 感谢您的回复。问题是我的数据框中有一个浮点数和字符串,所以如果这样做,我会得到值 2.7 的值 2 对吗?

标签: python dataframe csv


【解决方案1】:

fillna() 接受一个名为 downcast 的晦涩参数,您可以将其设置为 'infer' 来执行您需要的操作。

import pandas as pd
df =pd.read_csv('sample.csv')
print(df) #0    3  NaN  4.5  NaN  3.2 NaN

df.fillna(-99, inplace=True, downcast='infer')
print(df )#0    3  -99  4.5  -99  3.2 -99

【讨论】:

    【解决方案2】:

    试试这个

    data = data.fillna(int(-99))
    

    【讨论】:

    • 这实际上与已经存在的问题没有什么不同
    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多