Mam dwie oddzielne ramki danych, które współużytkują numer projektu. W type_df
numer projektu jest indeksem. W time_df
numer projektu jest kolumną. Chciałbym policzyć liczbę wierszy w type_df
, które mają Project Type
z 2
. Próbuję to zrobić z pandas.merge()
. Działa wspaniale przy użyciu obu kolumn, ale nie indeksów. Nie jestem pewien, jak odwołać się do indeksu, a jeśli merge
jest nawet właściwym sposobem, aby to zrobić.Korzystanie z funkcji scalania w kolumnie i indeksu w pandach
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()
Błąd:
Name 'Index' is not defined.
Pożądany wyjściowa:
2
Nicea rozwiązanie, tylko dla stanowisk sake Myślę, że musisz przełączyć '' 'type_df''' tak, aby był lewą ramką DataFrame, lub zmienić argumenty etc, ponieważ kod, który jest wysłany, nie powiedzie się – dermen
ah ok dokonam zmiany – maxymoo