将年龄分组为自定义部分?

时间:2018-06-17 10:59:27

标签: python pandas dataframe group-by data-science

我正在阅读用户CSV并尝试在我的新Dataframe中创建Age组。但是我得到的是Future警告,而不是预期的结果。对我来说很难解释。因此,我会表明我的意思。

这就是守则。在评论部分是我尝试过但得到未来警告。

users = pd.read_csv('Users.csv')
group_names = ['[0-10]','[11-20]','[21-30]','[31-40]','[41-50],[51-60],[61-70],[71-80],[81-90],[91-100]']
bins = ([0,10,20,30,40,50,60,70,80,90,100])


ageGroup = users.groupby('Age').size()
# ageGroup = users.groupby((pd.cut(users.Age,bins),'Age')).sum()
print(ageGroup)

我得到的数据帧:

Age
0      7794612
6            1
13          14
14         260

我想要什么数据帧:

Age           Frequency
[0 - 10]      7794613
[11 - 12]     274

希望你们能帮助我。我尝试了很多东西,但由于某些原因,它不起作用。我在Stackoverflow中搜索但我找不到任何东西。如果Stackoverflow上有方法或类似问题,请提醒我。

最好的问候

托拜厄斯

1 个答案:

答案 0 :(得分:0)

您希望cut使用users["binned_ages"] = pd.cut(users["Age"], bins=[10,20,30,40,50,60,70]) 。如:

ageGroup = users.groupby("binned_ages").size()

More on cut and bins here.

然后你可以在你的垃圾箱上播种。

ageGroup = users.groupby(pd.cut(users["Ages"], bins=bins)).size()

在一行中,这将是:

use Illuminate\Support\Facades\Auth;

if (Auth::check()) {
    // The user is logged in...
    $postPhoto = $request->photo
} else{
    //photo from directory storage 
    $postPhoto = public_path('/images/default.jpg'); 
}

// store photo in the database

$post->photo = $postPhoto;