Допустим, у меня есть Pandas DataFrame, как показано (df_All);
Category Count
0 Apple 1
1 Pen 3
2 Orange 4
3 Book 1
и 2 серии панд, как это (df_Fruit, df_Object);
Fruit Object
0 Apple 0 Pen
1 Orange 1 Book
Я хочу сравнить сDataFrame для серии, так что я получу сумму, как эта таблица;
Category Count
0 Fruit 5
1 Object 4
Я пытаюсь использовать функцию цикла и сравнить следующим образом;
def getCategoryCount(row):
food_count = 0
for value in df_Fruit['Fruit']:
if row['Category'] == value:
food_count = row['Count']
return food_count
df = df_All.apply(getCategoryCount, axis=1)
Однако, df fillкак это;
0 1
1 0
2 4
3 0
Я могу использовать df.sum()
, чтобы получить значение, но только для Series за один раз, поскольку, если я добавлю еще один цикл for в getCategoryCount
, он будет суммировать всю df.
Если возможно, я хочу getCategoryCount
вернуть как Pandas DataFrame