python - 为 DataFrame 中的每一列创建新的 Series 变量
问题描述
给定 a DataFrame
,我想运行代码,为每一列创建一个与列同名的新变量。
例如,给定这个DataFrame
:
df = pd.DataFrame({'nums': [1, 2], 'strings': ['a', 'b']})
我想要产生两个Series
变量的代码:(nums
)[1, 2]
和strings
(['a','b']`)。
解决方案
不推荐,但也可以通过其他解决方案:
for i in df.columns:
globals()[i] = df[i]
print (nums)
0 1
1 2
Name: nums, dtype: int64
所以更好的是创建Series
by DataFrame.to_dict
withorient='series'
和 select by key
s 的字典:
d = df.to_dict('series')
print(d['nums'])
0 1
1 2
Name: nums, dtype: int64