2016-06-09 157 views
1

我有一個其中有3行蟒蛇大熊貓數據幀:熊貓據幀 - 移動從一個數據幀行到另一個

Name Time count 
AAA 5:45 5 
BBB 13:01 8 
CCC 11:16 3 

我通過這個數據幀試圖循環,如果計數大於5,我必須將該行填充到新的數據框中。我知道count是2,因爲只有2行大於5.我嘗試了下面的代碼,但它不起作用。任何幫助,將不勝感激。

for i in range(2): 
    if(row['Occurences'] >= 5): 
    df6.loc[i] = [df4['MachineName'], df4['DateTime'], df4['Count']] 
df6 

我試過這段代碼 - res是空的,我根據條件附加行到res。

res = pd.DataFrame(columns=('MachineName', 'DateTime', 'Occurences')) 
print(pd.concat([res, df4[df4['Occurences'] >= 5]])) 
res 
+3

對不起你只是後'DF4 [DF4 [ '伯爵']> = 5]'? – EdChum

回答

1

只能使用boolean indexing,如Edchum在comment提到:

import pandas as pd 

df4 = pd.DataFrame({'Name': {0: 'AAA', 1: 'BBB', 2: 'CCC'}, 
        'Time': {0: '5:45', 1: '13:01', 2: '11:16'}, 
        'count': {0: 5, 1: 8, 2: 3}}) 
print (df4) 
    Name Time count 
0 AAA 5:45  5 
1 BBB 13:01  8 
2 CCC 11:16  3 

res = pd.DataFrame(columns=('MachineName', 'DateTime', 'Occurences')) 
res = pd.concat([res, df4[df4['count'] >= 5]]) 
print (res) 
    DateTime MachineName Name Occurences Time count 
0  NaN   NaN AAA  NaN 5:45 5.0 
1  NaN   NaN BBB  NaN 13:01 8.0 
+0

謝謝,我編輯了我的輸出約束的問題。我無法打印我們追加行的結果數據集。 – user3447653

+0

爲什麼你不能寫?什麼樣的錯誤? 「df」和「df4」中的列名是否相同? – jezrael

+0

我編輯了這個問題,'res'返回空數據框。 – user3447653