• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何在python

python 来源:Heisenberg 3次浏览

创建数据帧我有表像下面 (在这个例子中,它代表的名单,但这不需要是给出列表)如何在python

age=[3,4,5,6] 

sex=[1,2] 

limit=[3,4] 

我想创建数据帧,其有各种组合。

但“限制”列超过“年龄”列。

所以我期望的结果是这样的。

age sex limit 
3 1 3 
3 1 4 
4 1 4 
3 2 3 
3 2 4 
4 2 4 

我该如何得到这个结果?


===========解决方案如下:

此解决方案使用Numpy和Pandas使用’limit’大于或等于’age’的约束创建组合的数据框。请注意,您的帖子中写道:“大于”,但你的输出的例子显示了“大于或等于”:

import itertools 
age=[3,4,5,6] 
sex=[1,2] 
limit=[3,4] 
a = [age, sex, limit] 
mylist = list(itertools.product(*a)) 

import pandas as pd 
import numpy as np 
df = pd.DataFrame(np.array(mylist).reshape(len(mylist),3), columns = ["age","sex","limit"]) 

df2 = df[df['limit'] >= df['age']] 
print df2.to_string(index=False) 

输出是:

age sex limit 
    3 1  3 
    3 1  4 
    3 2  3 
    3 2  4 
    4 1  4 
    4 2  4   

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)