Pandas数据帧 - 将行从一个数据帧移动到另一个数据帧

时间:2016-06-09 13:13:12

标签: python pandas dataframe ipython

我有一个python pandas数据框,其中有3行:

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

我正在尝试遍历此数据帧,如果计数大于5,我必须将该行填充到新的数据帧。我知道一个函数的计数是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

1 个答案:

答案 0 :(得分: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