当前位置: 首页 > 面试题库 >

将CSV加载到Pandas MultiIndex DataFrame

毋澄邈
2023-03-14
问题内容

我有一个719mb的CSV文件,看起来像:

from, to, dep, freq, arr, code, mode   (header row)
RGBOXFD,RGBPADTON,127,0,27,99999,2
RGBOXFD,RGBPADTON,127,0,33,99999,2
RGBOXFD,RGBRDLEY,127,0,1425,99999,2
RGBOXFD,RGBCHOLSEY,127,0,52,99999,2
RGBOXFD,RGBMDNHEAD,127,0,91,99999,2
RGBDIDCOTP,RGBPADTON,127,0,46,99999,2
RGBDIDCOTP,RGBPADTON,127,0,3,99999,2
RGBDIDCOTP,RGBCHOLSEY,127,0,61,99999,2
RGBDIDCOTP,RGBRDLEY,127,0,1430,99999,2
RGBDIDCOTP,RGBPADTON,127,0,115,99999,2
and so on...

我想加载到熊猫DataFrame中。现在我知道csv方法有负载

 r = pd.DataFrame.from_csv('test_data2.csv')

但我特别想将其加载为“ MultiIndex” DataFrame,其中from和to是索引:

所以最后以:

                   dep, freq, arr, code, mode
RGBOXFD RGBPADTON  127     0   27  99999    2
        RGBRDLEY   127     0   33  99999    2
        RGBCHOLSEY 127     0 1425  99999    2
        RGBMDNHEAD 127     0 1525  99999    2

等等。我不确定该怎么做?


问题答案:

您可以使用pd.read_csv

>>> df = pd.read_csv("test_data2.csv", index_col=[0,1], skipinitialspace=True)
>>> df
                       dep  freq   arr   code  mode
from       to                                      
RGBOXFD    RGBPADTON   127     0    27  99999     2
           RGBPADTON   127     0    33  99999     2
           RGBRDLEY    127     0  1425  99999     2
           RGBCHOLSEY  127     0    52  99999     2
           RGBMDNHEAD  127     0    91  99999     2
RGBDIDCOTP RGBPADTON   127     0    46  99999     2
           RGBPADTON   127     0     3  99999     2
           RGBCHOLSEY  127     0    61  99999     2
           RGBRDLEY    127     0  1430  99999     2
           RGBPADTON   127     0   115  99999     2

我曾经skipinitialspace=True摆脱标题行中那些烦人的空格的地方。



 类似资料:
  • 问题内容: 不知道我在这里缺少什么,但是这段代码运行时没有任何错误消息,但是表中没有任何内容。我正在将三列的CSV值加载到mysql表中 如果有人可以看看,将不胜感激。 谢谢。 问题答案: 我认为您必须将所有内容插入。 像这样

  • 问题内容: 我正在用csv快速编写以下数据: 当我完成解析第一个文件并启动第二个文件时,我想添加更多列,如下所示: parsed STEP ID ELEMENT_ID Fatigue SW Fatigue F1 Fatigue F3 Fatigue SW Fatigue F1 Fatigue F3 Step 10 10000 1.30E-07 1.51E-06 2.15E-06 1.30E-07

  • 我无法用logstash将数据加载到localhost上的弹性搜索节点...我想让logstash读取csv文件并将这些数据加载到弹性搜索。但是什么都不起作用,我只能读取我手动添加到弹性搜索中的数据,看起来logstash什么都不做。 我的logstash配置是: 我的csv文件是: “MyIndex”索引上没有新的内容出现!但我不知道为什么... 将logstash配置文件从不获取文件的“*.c

  • 我正在通过SSIS将数据从csv文件加载到我的sql表中。是否对从csv文件读取的记录数指定了默认限制? 在加载csv文件时,我的数据流组件只处理5000条记录,尽管它包含5341条记录,如下面的图像所示。我如何修复这个问题?