我有一个包含约 90 个 CSV 文件的文件夹。每个相关文件均命名为 xxxxx-2012,并具有相同的列名称。
我想从每个文件中创建一个具有特定列power(MW)
的单个DataFrame,即总共90列,在生成的DataFrame中命名该列按文件名。
最佳答案
我解决此类问题的目标是尽快获得简单的数据结构。在本例中,这可能是 DataFrame 的文件名字典。
frames = {filename: pd.read_csv(filename) for filename is os.listdir()}
您可能必须过滤掉错误的文件名,例如通过扩展,或者您可能最好使用 glob...无论哪种情况它都能解决问题,这应该不会太糟糕。
那么问题就变得容易多了*:
- 如何从 DataFrame 中获取一列。
df[列名]
. - 如何将列列表连接到 DataFrame。
*假设您了解 python 数据结构,例如列表推导式。
<小时/>另一种选择是连接整个字典:
pd.concat(frames)
(它为您提供包含所有信息的 MultiIndex。)
关于python - 遍历文件夹并将每个 CSV 的一列添加到 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33576783/