Итак, я пытаюсь автоматизировать процесс получения количества записей, которые есть у человека с помощью панд.
Вот мой код:
st = pd.read_csv('list.csv', na_values=['-'])
auto = pd.read_csv('data.csv', na_values=['-'])
comp = st.Component.unique()
eventname = st.EventName.unique()
def get_summary(ID):
for com in comp:
for event in eventname:
arr = []
for ids in ID:
x = len(st.loc[(st.User == str(ids)) & (st.Component == str(com)) & (st.EventName == str(event))])
arr.append(x)
auto.loc[:, event] = pd.Series(arr, index=auto.index)
Вывод, который я получаю, выглядит следующим образом:
Я запустил несколько ручных циклов, чтобы увидеть записи для первых четырех столбцов. И я тоже посчитал их вручную в файле csv. Но когда я помещаю функцию print
в цикл, я вижу, что она правильно считает записи, но в какой-то момент она перезаписывается нулевыми значениями.
Что я здесь упускаю / делаю неправильно?