将列值分配给数据框中的变量
Posted
技术标签:
【中文标题】将列值分配给数据框中的变量【英文标题】:assign column values to variable out of data frame 【发布时间】:2020-05-18 09:43:59 【问题描述】:我将 Excel 工作表读入数据框中。是否有可能遍历列并将包含每列值的列表分配给以列名作为变量名的变量? 所以作为一个简单的例子,我有数据框
val = [[1,396,29],[2,397,29],[3,395,29],[4,393,29],[5,390,29],[6,398,29]]
df=pd.DataFrame(val,columns=['Hours','T1T_in','T1p_in'])
df
Hours T1T_in T1p_in
0 1 396 29
1 2 397 29
2 3 395 29
3 4 393 29
4 5 390 29
5 6 398 29
所以我想要一个循环来创建以列名作为变量的列表?
Hours = [1,2,3,4,5,6]
T1T_in = [396,397,395,393,390,398]
T1p_in = [29,29,29,29,29,29,29]
我找到了获取名称但无法分配值的解决方案。谢谢你的帮助
【问题讨论】:
【参考方案1】:到目前为止有效。但我有一个问题。我仍然不明白我现在如何访问每个变量的值。在下文中,我想使用这些列表并计算一些项目。您可以在下面看到一个简化的示例。 再次感谢您。
new=[]
for i in range(len(hours)):
new.append(T1T_in[i]+T1p_in[I])
再次感谢您的帮助
【讨论】:
如果我的帖子对您有帮助,您可以点赞或接受,对于一个新问题,我会建议发布一个新问题,谢谢!【参考方案2】:将列元素作为列表获取的最简单方法是使用pandas.Series.tolist()
:
Hours = df.Hours.to_list()
T1T_in = df.T1p_in.to_list()
T1p_in = df.T1p_in.to_list()
如果需要,您还可以使用 for 循环(如您所愿)来获取列和行:
data =
for column_name, rows in df.iteritems():
data[column_name] = rows.to_list()
print(data)
输出:
'Hours': [1, 2, 3, 4, 5, 6],
'T1T_in': [396, 397, 395, 393, 390, 398],
'T1p_in': [29, 29, 29, 29, 29, 29]
上面的结果也可以用:
df.to_dict('list')
正如@anky_91 所说
【讨论】:
以上是关于将列值分配给数据框中的变量的主要内容,如果未能解决你的问题,请参考以下文章