Python 比较嵌套在列表中的不同数据帧中的元素

Python 比较嵌套在列表中的不同数据帧中的元素,python,python-3.x,pandas,list,dataframe,Python,Python 3.x,Pandas,List,Dataframe,我有大约80个结构类似的csv文件(相同的列名和行数),我想从中获得整个文件集中每个单元格的最大值。 我现在的想法是将它们加载到一个列表中,然后进行比较,但从嵌套的数据帧中检索单元格值时遇到问题。 这是在数据帧列表中加载csv的代码: import glob allFiles = glob.glob("./*.txt") results = [None]*len(allFiles) i=0 for file_ in allFiles: results[i] = pd.read_csv(f

我有大约80个结构类似的csv文件(相同的列名和行数),我想从中获得整个文件集中每个单元格的最大值。
我现在的想法是将它们加载到一个列表中,然后进行比较,但从嵌套的数据帧中检索单元格值时遇到问题。
这是在数据帧列表中加载csv的代码:

import glob
allFiles = glob.glob("./*.txt")
results = [None]*len(allFiles)
i=0
for file_ in allFiles:
    results[i] = pd.read_csv(file_, sep = "\t")
    i=i+1
作为一个例子,让我们试着比较这两个文件:

a.txt
t   a   b
0   1   2
1   3   4
2   5   6

b.txt
t   a   b
0   1   3
1   0   2
2   7   9
结果列表中的每个元素都是一个数据帧:

>> results[i].info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 1 columns):
t   a   b    3 non-null object
dtypes: object(1)
我怎样才能做到这一点? 或者有更好的方法来解决整个问题?

谢谢

您可以通过以下方式使用
多索引创建一个大数据帧:

然后,如果需要每个数据帧的最大值:

max_val = df.max(level=0)
print (max_val)
   t   a   b
a  2   5   6
b  2   7   9

max_val = df.max(level=1)
print (max_val)
   t   a   b
0  0   1   3
1  1   3   4
2  2   7   9

如果没有答案,就不清楚你在问什么。您发布的代码似乎与实际问题完全无关(比较来自不同数据帧的元素)。给我们一些示例数据帧和您想要的输出。由于我无法访问列出的数据帧中的元素,因此我没有编写任何代码进行比较。现在,我添加了两个csv文件,作为示例。希望现在更清楚了,谢谢您提供的示例数据帧。“我无法访问其中的元素”仍然含糊不清。你想访问什么值,你想用它们做什么?考虑到列表中存在的所有数据帧,我想获得数据帧中每个单元格的最大值,现在我们有一个可以回答的问题!
allFiles = glob.glob("./*.txt")
results = [pd.read_csv(file_, sep = "\t") for file_ in allFiles]

names = [os.path.basename(f).split('.')[0] for f in allFiles]
df = pd.concat(results, keys=names)
print (df)
     t   a   b
a 0  0   1   2
  1  1   3   4
  2  2   5   6
b 0  0   1   3
  1  1   0   2
  2  2   7   9
max_val = df.max(level=0)
print (max_val)
   t   a   b
a  2   5   6
b  2   7   9

max_val = df.max(level=1)
print (max_val)
   t   a   b
0  0   1   3
1  1   3   4
2  2   7   9