舍入系列的熊猫数据帧

时间:2015-11-21 20:55:05

标签: python pandas statistics

我正在尝试为初学者解决课程之一。

我已阅读数据并尝试将其转换为下面的代码段中所示。我正在寻找所考虑变量的频率分布,因此我试图对这些值进行舍入。我尝试了几种方法,但没有什么能给我我期待的东西(见下文)..

import pandas as pd
import numpy as np
# loading the database file
data = pd.read_csv('gapminder-2.csv',low_memory=False)
# number of observations (rows)
print len(data)
# number of variables (columns)
print len(data.columns)


sub1 = pd.DataFrame({'income':data['incomeperperson'].convert_objects(convert_numeric=True),
                     'alcohol':data['alcconsumption'].convert_objects(convert_numeric=True),
                     'suicide':data['suicideper100th'].convert_objects(convert_numeric=True)})

sub1.apply(pd.Series.round)

income = sub1['income'].value_counts(sort=False)
print income

然而,我得到了

285.224449      1
2712.517199     1
21943.339898    1
1036.830725     1
557.947513      1

我的期望:

285    1
2712   1
21943  1
1036   1
557    1

1 个答案:

答案 0 :(得分:0)

您可以实施Series.round()

ser = pd.Series([1.1,2.1,3.1,5.1])

print(ser)

0    1.1
1    2.1
2    3.1
3    5.1
dtype: float64

从此处可以使用.round(),默认设置为每个文档0

print(ser.round())

0    1
1    2
2    3
3    5
dtype: float64

要保存更改,您需要将其重新分配给ser=ser.round()