繁体   English   中英

相当于R的pandas数据框列表的Python

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM