如何为每个 CSV 文件创建单独的 Pandas DataFrame 并给它们指定有意义的名称?

2023-12-31

我已经彻底搜索过,但找不到我在这个问题上寻找的指导,所以我希望这个问题不是多余的。我有几个代表光栅图像的 .csv 文件。我想对它们进行一些统计分析,所以我尝试为每个文件创建一个 Pandas 数据框,这样我就可以将它们切片并绘制它们......但我在循环文件列表时遇到问题为每个文件创建一个具有有意义名称的 DF。

这是我到目前为止所拥有的:

import glob
import os
from pandas import *

#list of .csv files
#I'd like to turn each file into a dataframe
dataList = glob.glob(r'C:\Users\Charlie\Desktop\Qvik\textRasters\*.csv')

#name that I'd like to use for each data frame
nameList = []
for raster in dataList:
    path_list = raster.split(os.sep)
    name = path_list[6][:-4]
    nameList.append(name)

#zip these lists into a dict

dataDct = {}
for k, v in zip(nameList,dataList):
    dataDct[k] = dataDct.get(k,"") + v
dataDct

所以现在我有一个字典,其中键是我想要的每个数据帧的名称,值是 read_csv(path) 的路径:

{'Aspect': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\Aspect.csv',
 'Curvature': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\Curvature.csv',
 'NormalZ': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\NormalZ.csv',
 'Slope': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\Slope.csv',
 'SnowDepth': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\SnowDepth.csv',
 'Vegetation': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\Vegetation.csv',
 'Z': 'C:\\Users\\Charlie\\Desktop\\Qvik\\textRasters\\Z.csv'}

我的直觉是尝试以下变体:

for k, v in dataDct.iteritems():
    k = read_csv(v)

但这给我留下了一个数据帧 'k' ,它填充了循环读取的最后一个文件中的数据。

我可能在这里遗漏了一些基本的东西,但我开始在这方面旋转我的轮子,所以我想我会问你们......任何想法都会受到赞赏!

Cheers.


您是否试图在字典中单独获取所有数据帧,每个键一个数据帧?如果是这样,这将为您留下您显示的字典,但会包含每个键中的数据。

dataDct = {}
for k, v in zip(nameList,dataList):
    dataDct[k] = read_csv(v)

现在,您可以这样做:

dataDct['SnowDepth'][['cola','colb']].plot()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为每个 CSV 文件创建单独的 Pandas DataFrame 并给它们指定有意义的名称? 的相关文章

随机推荐

  • 什么是 ASP.NET 提供程序?

    ASP NET Provider 中的 Provider 是什么意思 例如当我们谈论AuthorizationRuleProvider connectionStrings providerName 这是一种设计模式 提供商模型 http e
  • 在 foreach 中的 DataRow 上转换 null 文字或可能的 null 警告

    更新了我的 NET Core 3 1 控制台应用程序以使用 Nullables 功能并具有以下内容foreach loop DataTable profiles DB ListProfiles CS8600 warning here v f
  • AttributeError:模块“pandas”没有属性“to_csv”

    我从 csv 文件中取出了一些行 如下所示 pd DataFrame CV data take 5 columns CV data columns 并对其执行一些功能 现在我想再次将其保存在 csv 中 但出现错误module pandas
  • 如何更改 shell/bash 中的列名称?

    这个问题对于大多数人来说可能太简单了 但我真的不想手动做 所以 假设我在终端中有一个文件 如下所示 dz2t edison s GWAS head PHENO GWASID CHILDID VSTNUM GENDER GA 1001 100
  • 使用 ng-repeat 生成的项目中的增量计数器

    我用 ng repeat 生成了一个列表 其中每个项目都有一个计数变量 在列表项中 我有一个链接 我想在单击它时增加计数 我不知道如何用 Angular JS 方式解决这个问题 Plunker http plnkr co edit HfeL
  • Android googlemaps v2完成加载事件或回调

    我想在谷歌地图加载后做一些事情 maptiles已被填充 无论如何可以实现这一点吗 正如所指出的qubz https stackoverflow com users 496625 qubz ViewTreeObserver可用于实现地图加载
  • Angular2 检测模板视图中的元素是否具有类

    我们使用 bootstrap 有时它会自动向 DOM 元素添加类 附加到这些元素并检测何时将特定 css 类添加到组件模板子元素的最佳方法是什么 假设我有这个组件 import Component ViewChild ElementRef
  • 防止默认事件操作不起作用...?

    I m trying to add keyboard shortcuts on my website to make fast navigation possible using the keyboard I m running into
  • JPA本机查询返回类

    在 JPA 中 我定义了一个本机 sql 它将返回 String NamedNativeQuery name alert query select distinct c accountId from account c resultClas
  • Flutter Firestore 服务器端时间戳

    我需要在使用 Flutter 应用程序添加到 Firestore 的新文档上添加服务器端时间戳 我明白我应该使用FieldValue serverTimestamp但我不知道在哪里可以找到这个 截至9月5日 更新cloud firestor
  • 如何在 Tkinter 中使用 Canvas 绘制点?

    我想在Tkinter中画一个点 现在我正在使用Canvas做到了 但我没有找到这样的方法来画点Canvas class Canvas提供了一个方法叫做crete line x1 y1 x2 y2 所以我尝试设置x1 x2 y1 y2画一个点
  • 自动检查父复选框

    我有一个 AJAX 请求 该请求会拉入一个文件夹列表 每个列表项旁边都有一个复选框 如果我选中父文件夹旁边的复选框 则会通过执行以下操作自动检查所有子文件夹 var checkChildCheckBoxes function var isA
  • 容器启动后在 Docker 上运行 mongorestore

    我正在尝试设置一个运行 MongoDB 的容器 该容器在启动时使用 mongorestore 填充数据 这个想法是快速建立一个用于测试和模拟的虚拟数据库 我的 Dockerfile 如下所示 FROM mongo bionic COPY d
  • 在 Eclipse Neon 中启用 JSDT 大纲视图

    显示 JavaScript 源文件内容的大纲视图问题并不新鲜 而且它甚至找到了答案 https stackoverflow com a 11062205 2749913 然而 这个答案在 Neon 4 6 0 中不再有效 我打开了在两个单独
  • Delphi增量变化?从 D7 到 D2009

    是否有网站或文档详细说明每个版本所做的更改 比如说 D7 gt D2005 gt D2006 gt D2007 gt D2009 语言特点 数据库功能 RTTI IDE 必须查看 Google 缓存才能找到其中的几个 Delphi 2005
  • Nvidia 驱动程序更新后无法在 Qt 5.3 上编译 GLSL 着色器

    我有一些非常基本的 openGL 着色器 用于编译 但在 Nvidia 驱动程序更新后不再编译 每个着色器都以以下行开头 版本150核心 我曾经使用 QGLShaderProgram addShaderFromSourceFile 方法编译
  • 简单的 C++ 继承示例,有什么问题吗? [复制]

    这个问题在这里已经有答案了 可能的重复 派生类中具有相同名称但不同签名的函数 https stackoverflow com questions 411103 function with same name but different si
  • 错误:验证失败:可成像的图像必须存在,rails-5.0,paperclip-5

    当我尝试提交表单时 发生以下错误 Validation failed Images imageable must exist并渲染相同的new html erb view 如果我评论file field in new html erb 产品
  • 如何清除 System.Net 客户端 DNS 缓存?

    我在更改 HOSTS 文件时使用 NET WebRequest 我发现 System Net 不遵守这些更改 我怎样才能让它这样做 我有许多服务器在单个主机名后面进行负载平衡 比方说 example com 我想单独定位其中的几个 因此我的
  • 如何为每个 CSV 文件创建单独的 Pandas DataFrame 并给它们指定有意义的名称?

    我已经彻底搜索过 但找不到我在这个问题上寻找的指导 所以我希望这个问题不是多余的 我有几个代表光栅图像的 csv 文件 我想对它们进行一些统计分析 所以我尝试为每个文件创建一个 Pandas 数据框 这样我就可以将它们切片并绘制它们 但我在