1
我有一个包含约90个CSV文件的文件夹。每个相关文件都命名为xxxxx-2012并具有相同的列名。遍历文件夹并将每个CSV的一列添加到数据框
我想建立一个单一的数据帧从每个文件中的特定列power(MW)
,即 90在合计列,由文件名的命名中所得到的数据帧的列。
我有一个包含约90个CSV文件的文件夹。每个相关文件都命名为xxxxx-2012并具有相同的列名。遍历文件夹并将每个CSV的一列添加到数据框
我想建立一个单一的数据帧从每个文件中的特定列power(MW)
,即 90在合计列,由文件名的命名中所得到的数据帧的列。
我这样的问题的目标是尽快到一个简单的数据结构。在这种情况下,这可能是DataFrames的文件名字典。
frames = {filename: pd.read_csv(filename) for filename is os.listdir()}
您可能必须过滤出错误的文件名,例如,通过扩展,或者你可能会更好使用全球通...在任何情况下它打破了这个问题,这应该不会太糟糕。
那么问题就容易得多*:
df[colname]
。*假设您知道围绕蟒蛇数据结构的方式,例如列表解析。
另一种选择是只CONCAT整个字典:
pd.concat(frames)
(它给你一个多指标的所有信息。)
于是我想出了一个不同的方式做到这一点但绝对不如您的优雅。使用你的,我能够获得框架,但使用concat不完全是我想要做的。为了从框架创建数据框,您是否会使用for循环遍历框架,然后为每个项目添加列到数据框? – JSolomonCulp
你可以做pd.concat(frames,axis = 1)。 –