Создать новую переменную Series для каждого столбца в DataFrame - PullRequest
0 голосов
/ 01 октября 2019

Учитывая DataFrame, я хотел бы запустить код, который создает новую переменную для каждого столбца с тем же именем, что и столбец.

Например, учитывая это DataFrame:

df = pd.DataFrame({'nums': [1, 2], 'strings': ['a', 'b']})

Мне нужен код, который создает две Series переменные: nums ([1, 2]) и strings (['a', 'b'] `).

Ответы [ 2 ]

1 голос
/ 01 октября 2019

Не рекомендуется , рекомендуется , но возможно и другое решение:

for i in df.columns:
    globals()[i] =  df[i]
print (nums)
0    1
1    2
Name: nums, dtype: int64

Так что лучше создать словарь Series на DataFrame.to_dict сorient='series' и выберите key s:

d = df.to_dict('series')
print(d['nums'])

0    1
1    2
Name: nums, dtype: int64
0 голосов
/ 01 октября 2019
for i in df.columns:
    exec(i + " = df['" + i + "']")

При запуске функции можно пропустить любой DataFrame, но я столкнулся с проблемами с областью видимости.

...