подсчет записей дает неправильный фрейм данных - PullRequest
0 голосов
/ 23 января 2019

Итак, я пытаюсь автоматизировать процесс получения количества записей, которые есть у человека с помощью панд.

Вот мой код:

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) 

Вывод, который я получаю, выглядит следующим образом:

enter image description here

Я запустил несколько ручных циклов, чтобы увидеть записи для первых четырех столбцов. И я тоже посчитал их вручную в файле csv. Но когда я помещаю функцию print в цикл, я вижу, что она правильно считает записи, но в какой-то момент она перезаписывается нулевыми значениями.

Что я здесь упускаю / делаю неправильно?

...