将数据框中的选定元素从float转换为不成功的整数

时间:2019-02-13 05:55:52

标签: python pandas

我正在尝试将数据框中称为“ GDP”的元素列表从浮点转换为整数。我要转换的单元格在GDP.iloc [4,-10]中指定。我尝试了以下方法:

    GDP中的x的
  1. iloc [4,-10:]: pd.to_numeric(x,downcast ='signed')

  2. GDP.iloc [4,-10:] = GDP.iloc [4,-10:]。astype(int)

  3. GDP.iloc [4,-10:] = int(GDP.iloc [4,-10:])

但是,它们似乎都无法将浮点数转换为整数。方法1和2没有出现错误,但是对于选项3,出现以下错误: TypeError:无法将系列转换为

数据可在此处找到:https://data.worldbank.org/indicator/NY.GDP.MKTP.CD

GDP = pd.read_csv('world_bank.csv',header=None)

方法1

for x in GDP.iloc[4,-10:]: 
   pd.to_numeric(x, downcast='signed')

方法2:

GDP.iloc[4,-10:]=GDP.iloc[4,-10:].astype(int)

方法3:

GDP.iloc[4,-10:]=int(GDP.iloc[4,-10:])

有人可以帮我吗?非常感激。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用astype(np.int64)转换为int

import pandas as pd
import numpy as np

df = pd.read_csv('data.csv')

# df.head()
df = df.fillna('custom_none_values')
# df.head()
df = df[df['1960'] != 'custom_none_values']
df['1960'] = df['1960'].astype(np.int64)
df.head()

enter image description here