Python 访问字典中包含的特定数据帧列的最佳方式是什么?
我现在有一本由1000个数据帧组成的字典。我想访问这些数据帧,以便对这些数据帧的特定列进行更改或排序。我可以直接从字典中访问它们的列,还是必须先从字典中提取所有数据帧,然后逐个访问它们?您可以通过遍历字典的键或直接遍历值(即数据帧),在列表理解或循环中直接访问它们 例如:Python 访问字典中包含的特定数据帧列的最佳方式是什么?,python,pandas,dataframe,data-structures,Python,Pandas,Dataframe,Data Structures,我现在有一本由1000个数据帧组成的字典。我想访问这些数据帧,以便对这些数据帧的特定列进行更改或排序。我可以直接从字典中访问它们的列,还是必须先从字典中提取所有数据帧,然后逐个访问它们?您可以通过遍历字典的键或直接遍历值(即数据帧),在列表理解或循环中直接访问它们 例如: frames = {i:pd.DataFrame(np.random.random((5,2)), columns=['col1','col2']) for i in range(5)} frames是一个包含5个数据帧的字
frames = {i:pd.DataFrame(np.random.random((5,2)), columns=['col1','col2']) for i in range(5)}
frames
是一个包含5个数据帧的字典,每个数据帧有2列。比如说,
>>> frames[0]
col1 col2
0 0.100050 0.710130
1 0.834157 0.077837
2 0.024547 0.583344
3 0.328716 0.929574
4 0.948498 0.612750
显示第一个数据帧
要按第一列对每个列进行排序,只需执行以下操作:
[frames[df].sort_values('col1', inplace=True) for df in frames.keys()]
或
然后,当您再次访问帧[0]
时,它将被排序:
>>> frames[0]
col1 col2
2 0.024547 0.583344
0 0.100050 0.710130
3 0.328716 0.929574
1 0.834157 0.077837
4 0.948498 0.612750
尽管如此,这不是我要做的。我会将所有帧与每个数据帧的某种标识符连接在一起,然后对主数据帧进行操作。但你试图实现的目标是可能的,正如我刚才概述的那样
>>> frames[0]
col1 col2
2 0.024547 0.583344
0 0.100050 0.710130
3 0.328716 0.929574
1 0.834157 0.077837
4 0.948498 0.612750