微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:将函数的输入用作函数内数据框名称的一部分

如何解决Python:将函数的输入用作函数内数据框名称的一部分

我想定义一个函数,通过更改输入可以采用不同的数据帧。例如,使用

def test (Source): 
    print('df'+ Source)

我想运行test('A')并获取数据帧df_A,运行test('B')并获取数据帧df_B,依此类推。但是它只读取'df_A'作为字符串而不是表。 df_A和df_B是预先定义的。

谢谢!

解决方法

如果您使用globals(),它将返回给您一个字典,该字典以字符串格式的变量名作为键,而变量值作为该键的对应值。

因此,以下代码解决了上述问题

let useMarker = UsedMarker(context: self.context)
useMarker.recording = currentRecording
useMarker.markerItem = chosenMarker
useMarker.id = UUID()
useMarker.hours = ... // etc
,

print命令仅打印使用“ df”和输入变量源构建的并置字符串。
要获取实际数据,需要使用eval()函数,如下所示:

def test (Source): 
    return eval('df_' + Source)

这将返回输出,就像在Jupyter单元格中有df_a一样。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。