从 csv 文件中读取列上的多重索引

2024-03-28

我有一个如下所示的 .csv 文件:

Male, Male, Male, Female, Female
R, R, L, R, R
.86, .67, .88, .78, .81

我想将其读入 df,这样我就有:

    Male        Female
    R       L   R
0   .86 .67 .88 .78 .81

I did:

df = pd.read_csv('file.csv', header=[0,1])

But headers不削减它。这导致

Empty DataFrame
Columns: [(Male, R), (Male, R), (Male, L), (Female, R), (Female, R)]
Index: []

然而,标题上的文档说:

(...)Can be a list of integers that specify row
locations for a multi-index on the columns E.g. [0,1,3]

我究竟做错了什么?我怎样才能让它发挥作用?


我认为问题在于您有重复的列:两个(女性,R)。

不确定这是一个错误还是重复的列不可接受。这是一个适合您的解决方法:

首先使用 tupleize_cols=True 读取 csv

In [61]: df = pd.read_csv('test.csv', header=[0, 1], skipinitialspace=True, tupleize_cols=True)

In [62]: df
Out[62]: 
   (Male, R)  (Male, R)  (Male, L)  (Female, R)  (Female, R)
0       0.67       0.67       0.88         0.81         0.81

[1 rows x 5 columns]

然后将列的类型从 Index 转换为 MultiIndex

In [63]: df.columns = pd.MultiIndex.from_tuples(df.columns)

In [64]: df
Out[64]: 
   Male              Female      
      R     R     L       R     R
0  0.67  0.67  0.88    0.81  0.81

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

从 csv 文件中读取列上的多重索引 的相关文章

随机推荐

  • 在 C++ 中是否有模仿 Java try/finally 的常用习惯用法?

    从事 Java 工作很多年了 所以一直没有关注 C 有finally子句是否已添加到语言定义中的 C 异常处理中 有没有一种流行的模仿 Java 的 try finally 的习惯用法 我还担心 C 没有一个终极超类型来处理所有可能抛出的异
  • .NET Micro Framework 不安全代码

    NET Micro Framework 是否支持不安全代码 换句话说 我可以在 NET Micro Framework 的代码中使用指针吗 来自维基百科页面 http en wikipedia org wiki NET Micro Fram
  • 使用 ARC 手动保留

    在 ARC 之前 我有以下代码 可以在异步操作正在进行时保留委托 void startAsyncWork delegate retain calls executeAsyncWork asynchronously void executeA
  • 如何获得带有括号和所有内容的 SQL Server 列定义?

    我需要一种智能方法 以可在 CREATE TABLE 语句中使用的方式从 INFORMATION SCHEMA COLUMNS 中获取数据类型 问题是需要理解的 额外 字段 例如 NUMERIC 精度和数字 SCALE 显然 我可以忽略 I
  • 在 HIVE 中选择该月的第一天

    我正在使用 Hive 它与 SQL 类似 但对于 SQL 用户来说语法可能略有不同 我看过其他的stackoverflow 但它们似乎在SQL中具有不同的语法 我试图通过此查询获取该月的第一天 这给了我今天的一天 例如 如果今天是 2015
  • Android:尝试序列化...忘记注册类型适配器?”

    如何使用 HashMap 转换为 JSONGson https code google com p google gson class ClassData public String jsonString public Class clas
  • 将输出分配给 Bash 中的变量[重复]

    这个问题在这里已经有答案了 我试图将 cURL 的输出分配给一个变量 如下所示 bin sh IP curl automation whatismyip com n09230945 asp echo IP sed s IP IP nsupd
  • MSSQL - JPA - 特殊字符的字符编码 - 附加“N”nativeQuery

    我使用 Spring 4 3 1 和 JPA 2 0 并连接到 MSSQL 我正在使用 JpaRepository 的 save 方法来插入和更新数据 其中一个字段具有 nvarchar 它可以包含特殊字符 如拉丁文 中文 另外 我在 ap
  • 如何使用反射来调用私有方法?

    我的类中有一组私有方法 我需要根据输入值动态调用一个方法 调用代码和目标方法都在同一个实例中 代码如下所示 MethodInfo dynMethod this GetType GetMethod Draw itemType dynMetho
  • TypeScript 字符串并集不可分配给函数中元组的并集

    这两个示例的行为应该是相同的 但第二个示例出现错误 为什么 Example 1 const a x y x const b x y a ok Example 2 function fn a x y const b x y a Type x
  • Powershell确定永久移动(重定向)资源的新URL

    我在 Linux 上使用 AppImage 来使用 Powershell Core v6 beta 5 有没有办法找出 301 重定向的 新 位置 Invoke WebRequest Method HEAD http SomethingTh
  • Rails 3:生成唯一代码(优惠券)

    生成用作优惠券代码的唯一代码的最佳方法是什么 Thanks Ruby 的标准库中有SecureRandom为了这 SecureRandom hex 3 输出的长度是输入指定长度的两倍
  • Rails 3 有更好的 validates_linked 方法吗?

    Rails 3 包括validates associated保存嵌套模型时会自动调用它 该方法的问题是消息很糟糕 模型无效 有一些帖子针对 Rails 2 攻击了这个问题 http rpheath com posts 412 a bette
  • assembly x86 qemu:致命:尝试在 RAM 或 ROM 之外执行代码

    我正在开发一个非常基本的 shell 其中当前唯一的命令是 help 如果您输入错误 系统会通知您该命令无法识别 在段和堆栈设置的某个地方 我有一个错误 导致 shell 在我输入任何内容后吐出一些废话 然后完全冻结 我在终端中遇到错误 q
  • 如何在 RESTful Web 服务中实现登录?

    我正在构建一个带有服务层的 Web 应用程序 服务层将使用 RESTful 设计构建 我们的想法是 在未来的某个时候 我们可能会构建使用与 Web 应用程序相同的服务层的其他应用程序 iPhone Android 等 我的问题是 如何实现登
  • 为什么 MIDI 提供 127 个音符

    MIDI 中的 127 个音符值是否具有音乐意义 一定数量的八度音阶或其他 或者是由于二进制文件格式 IE为了计算的目的而设置为127 在 MIDI 协议中 有状态字节 想想命令 例如音符打开或音符关闭 和数据字节 想想参数 例如音高值和速
  • Groovy 字符串插值,其值仅在运行时已知

    我觉得我错过了 Groovy 处理字符串的方式 我意识到它们是不可变的 但我想做的是在运行时插入一个值 我不知道怎么办 让我用 Python 给出一个非常简单的例子 作为 可执行伪代码 来说明我的意思 然后我将给出我在 Groovy 中尝试
  • 在opencv python中分解单应性矩阵

    H K R t 其中H 3 3 是单应矩阵 R是旋转矩阵 K是相机内参数矩阵 t是平移向量 我使用棋盘模式计算了 K 如下所示 ret K dist rvecs tvecs cv2 calibrateCamera objpoints img
  • 无法在 Raspberry Pi 上安装 PyQt5 [重复]

    这个问题在这里已经有答案了 我正在尝试在我的 Raspberry Pi 机器上安装 PyQt5 我努力了 pip3 install pyqt5 pip3 install upgrade pip pip3 install pyqt5 5 14
  • 从 csv 文件中读取列上的多重索引

    我有一个如下所示的 csv 文件 Male Male Male Female Female R R L R R 86 67 88 78 81 我想将其读入 df 这样我就有 Male Female R L R 0 86 67 88 78 8