[英]Python equivalent of R's list for pandas dataframe
我试图将多个数据帧收集到一个变量中,但是在Python中这样做却遇到了麻烦。
我试图在R中执行的代码如下
df1 <- data.frame()
df2 <- data.frame()
my_collection <- list(my_df1 = df1, my_df2 = df2)
这使我可以做一些不错的事情,例如根据名称调用单个数据帧(例如, my_collection[["my_df1"]]
)。
问题是我无法在Python中找到一个解决方案,无法将它们组合成一个可搜索的变量。 我对Python术语会有些困惑,因此很难将其指向正确的方向。
能够合并的任何帮助将不胜感激! 谢谢!
像你想这听起来我dict
:
In [6]: df1 = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
In [7]: df2 = pd.DataFrame({'c':[7,8,9], 'd':[10,11,12]})
In [8]: df1
Out[8]:
a b
0 1 4
1 2 5
2 3 6
In [9]: df2
Out[9]:
c d
0 7 10
1 8 11
2 9 12
In [10]: frames = dict(my_df1=df1, my_df2=df2)
In [11]: frames['my_df1']
Out[11]:
a b
0 1 4
1 2 5
2 3 6
In [12]: frames['my_df2']
Out[12]:
c d
0 7 10
1 8 11
2 9 12
注意,我在DataFrame
构造函数中使用dict
文字,但我使用dict
构造器只是为了使语法看起来与R相同。
您也可以使用文字:
In [13]: frames2 = {'foo':df1, 'bar':df2}
In [14]: frames2['foo']
Out[14]:
a b
0 1 4
1 2 5
2 3 6
In [15]: frames2['bar']
Out[15]:
c d
0 7 10
1 8 11
2 9 12
注意, R
列表基本上是允许标记的数组,但是复杂性与数组相同(也许是数组列表)。 他们被精心挑选出来的Python list
。 dict
是具有非常不同的运行时复杂度的哈希表。 它更像是R
环境(或更确切地说,R环境在幕后使用的东西-我不认为R具有普通的哈希映射数据结构)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.