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