Python 中 R 的 aasign() 的类似函数是啥?

Posted

技术标签:

【中文标题】Python 中 R 的 aasign() 的类似函数是啥?【英文标题】:What's the analogous function for aasign() of R in Python?Python 中 R 的 aasign() 的类似函数是什么? 【发布时间】:2016-07-21 02:37:35 【问题描述】:

有一个清单。

stud = ['mark', 'kael', 'joey', 'ash']

我想为螺柱列表中的每个项目分配一个数据框。 (将列表中的每个项目作为变量名) 例如。

mark = dataframe1
kael = dataframe2
joey = dataframe3
ash = dataframe4

我知道我们可以在 R 中使用 assign() 函数来做到这一点。我们如何在 Python 中实现这一点。

【问题讨论】:

这里的datafrane是指Pandas数据框吗?? 请注意,这在 R 中是可能的,但通常没有任何理由实际这样做。 【参考方案1】:

我会使用exec() 从字符串中分配变量名。 像这样的:

dataframe1,dataframe2,dataframe3,dataframe4 = 'a','b','c','d'
stud = ['mark', 'kael', 'joey', 'ash']
dfs = [dataframe1,dataframe2,dataframe3,dataframe4]

for v,d in zip(stud,dfs):
    exec('='.format(v,d))

>>> mark
'a'

使用 DataFrame,您必须将 dfs 从对象列表更改为字符串列表:

from pandas import DataFrame
import numpy as np

dataframe1,dataframe2,dataframe3,dataframe4 = DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5)),DataFrame(np.random.randn(10, 5))

stud = ['mark', 'kael', 'joey', 'ash']
dfs = ['dataframe1','dataframe2','dataframe3','dataframe4']

for v,d in zip(stud,dfs):
    exec('='.format(v,d))

【讨论】:

'a' 是一个集合,我想给出一个数据框。如果我在 dfs 中传递数据帧,它会给我一个语法错误。 然后将数据框的名称作为字符串传入dfs dfs = ['dataframe1','dataframe2','dataframe3','dataframe4']

以上是关于Python 中 R 的 aasign() 的类似函数是啥?的主要内容,如果未能解决你的问题,请参考以下文章

R 中是不是有类似于 Python 的 % 的字符串格式化运算符?

类似于 R 的 Python 线性回归诊断图

LSH︱python实现局部敏感随机投影森林——LSHForest/sklearn

如何在 R 或 Python 中制作旭日形图?

R语言list与Python中的dict

R 的 dput() 函数的 Python 等价物