如何解决为数据框列中的每一行创建一个新变量
我正在尝试根据现有的 df 列创建一系列变量。示例:
import pandas as pd
dates = {'expiries': ['10','11','13','14']}
expiries = pd.DataFrame(dates)
expiries
然后我想创建一个新变量(var1 到 var4),给它每一行的值。我知道我可以通过:
var1 = expiries['expiries'].iloc[0]
var2 = expiries['expiries'].iloc[1]
var3 = expiries['expiries'].iloc[2]
var4 = expiries['expiries'].iloc[3]
但实际上我的 df 是一个可变长度,我需要每行一个变量,而不是预先确定(硬编码)的变量数。
解决方法
将它们存储在字典中:
var_dict = {}
for i in range(expires.shape[0]):
var_dict['var' + str(i+1)] = expiries['expiries'].iloc[i]
你有未知数量的变量是违反编码逻辑的
,你可以使用 exec
for row in expiries.itertuples():
idx,value = row
exec(f'var{idx+1} = {value}')
print(var1,var2,var3,var4)
>>>
10 11 13 14
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。