将方法中的值放入数据框

时间:2017-03-08 18:31:27

标签: python methods

def number():
    for i in dataframe:
        if i > 10:
            print('large')
        elif i <= 10:
            print('small')                 
number()
small
small
large
small

是否有任何可能的方法可以将这些值,特别是从方法中获得的值(例如上面的示例)合并到DF(如pandas数据帧)中?

1 个答案:

答案 0 :(得分:0)

pandas 要记住的主要事情是,在许多情况下,它需要矢量值运算符和函数。答案是使用 numpy

这似乎做你想要的。请注意,其中粗略地说就是函数的向量值等价物。

>>> import pandas as pd
>>> import numpy as np
>>> A = np.array([1,9,10,11,15])
>>> B = len(A)*[2]
>>> df = pd.DataFrame({'A': A, 'B': B})
>>> df
    A  B
0   1  2
1   9  2
2  10  2
3  11  2
4  15  2
>>> df.assign(C=np.where(A>10,len(A)*['large'],len(A)*['small']))
    A  B      C
0   1  2  small
1   9  2  small
2  10  2  small
3  11  2  large
4  15  2  large