I have two separate dataframes that share a project number. In type_df
, the project number is the index. In time_df
, the project number is a column. I would like to count the number of rows in type_df
that have a Project Type
of 2
. I am trying to do this with pandas.merge()
. It works great when using both columns, but not indices. I'm not sure how to reference the index and if merge
is even the right way to do this.
import pandas as pd
type_df = pd.DataFrame(data = [['Type 1'], ['Type 2']],
columns=['Project Type'],
index=['Project2', 'Project1'])
time_df = pd.DataFrame(data = [['Project1', 13], ['Project1', 12],
['Project2', 41]],
columns=['Project', 'Time'])
merged = pd.merge(time_df,type_df, on=[index,'Project'])
print merged[merged['Project Type'] == 'Type 2']['Project Type'].count()
Error:
Name 'Index' is not defined.
Desired Output:
2
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…