gpt4 book ai didi

python - Pandas 从 concat() 中按键切片

转载 作者:行者123 更新时间:2023-11-28 17:07:55 26 4
gpt4 key购买 nike

我读入了许多 excel 文件并将它们连接到一个数据框中。我还添加了键,所以我知道任何给定的数据 block /数据 block 来自哪个 excel 文件。了解来自哪个文件数据对我的工作极为重要。

我的 excel 文件都以递增的数字结尾。例如。 _00、_01、_02、_03 等

path = os.getcwd()
allFiles = glob.glob(os.path.join(path, "*.xlsx"))
allFiles.sort() # put files in numerical order
# e.g. _00, then _01, then _02, and so on

keys = [[] for x in range(len(allFiles))]
for idx, name in enumerate(allFiles):
keys[idx] = name[-7:-5] # returns numbers 00, 01, 02, etc.

df = pd.concat((pd.read_excel(f) for f in allFiles), keys = keys)

现在我将所有这些数据都放在一个数据框中,我如何使用任何给定的键访问所有数据?例如,我想制作第一个 excel 文件中所有数据的直方图;带有键 '00'

的那个

将所有内容都放在一个数据框中是最好的方法吗?

最佳答案

我认为最简单的是使用 DataFrame.xs :

df1 = df.xs('00')

或者:

df1 = df.loc['00']

编辑:

看起来你的代码应该简化:

df = pd.concat({f[-7:-5]: pd.read_excel(f) for f in allFiles})

关于python - Pandas 从 concat() 中按键切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49845886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com