2017-03-08 79 views
1
def number(): 
    for i in dataframe: 
     if i > 10: 
      print('large') 
     elif i <= 10: 
      print('small')     
number() 
small 
small 
large 
small 

是否有可以納入這些值的任何可能的方式,特別是那些從一種方法獲得,如上面的例子中爲DF諸如大熊貓數據幀?把從的方法的值轉換成一個數據幀

+1

而不是'print'ing對於如何在'DataFrame' – ZdaR

+0

插入值,讓我們知道你來幹什麼,當你搜索添加值數據框 – putonspectacles

+0

與價值觀搜索是這樣的'pandas'數據幀? – James

回答

0

熊貓有關的主要問題是,在許多情況下,它期望矢量值運算符和函數。答案是用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 
+0

這絕對有效。那麼,在這個基礎上,你基本上是在熊貓數據框中創建函數?還有什麼是你把B變量的邏輯? – bnicholl