Как динамически генерировать для цикла на основе столбцов в dataframe? - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь сгенерировать цикл for динамически на основе количества столбцов в кадре данных.

Например, если мои столбцы в кадре данных равны 5, то я генерирую цикл for и назначаю переменные соответственно.если

df_cols = ['USER_ID', 'BLID', 'PACKAGE_NAME', 'PACKAGE_PRICE', 'ENDED_DATE']

и brics - это мой dataframe, то

for index, row in brics.iterrows():
  analytics.track(row['USER_ID'], 'Cancelled Subscription', {
    df_cols[1]: row['BLID']
    df_cols[2]: row['PACKAGE_NAME'],
    df_cols[3]: row['PACKAGE_PRICE'],
    df_cols[4]: row['ENDED_DATE'],

      })

df_cols и строка [value] должны быть сгенерированы на основе количества столбцов в dataframe.Например, если во фрейме данных только 2 столбца, то код должен выглядеть следующим образом.if

df_cols = ['USER_ID', 'BLID']

Тогда

for index, row in brics.iterrows():
      analytics.track(row['USER_ID'], 'Cancelled Subscription', {
        df_cols[1]: row['BLID']
          })

Я искал SO для этого решения, но не смог найти решение, связанное с фреймом данных (хотя R доступен).Любые указатели будут полезны. Спасибо.

1 Ответ

2 голосов
/ 26 сентября 2019
df_cols = ['USER_ID', 'BLID', 'PACKAGE_NAME', 'PACKAGE_PRICE', 'ENDED_DATE']
for index, row in brics.iterrows():
      analytics.track(row['USER_ID'], 'Cancelled Subscription', {
        df_cols[i+1]: row[df_cols[i]] for i in range(len(df_cols)-1)
          })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...