def number():
for i in dataframe:
if i > 10:
print('large')
elif i <= 10:
print('small')
number()
small
small
large
small
是否有任何可能的方法可以将这些值,特别是从方法中获得的值(例如上面的示例)合并到DF(如pandas数据帧)中?
答案 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