python-使用pd.read_clipboard复制数据框时如何处理自定义命名索引?

鉴于这个数据框架来自其他一些问题:

         Constraint Name    TotalSP       Onpeak    Offpeak
Constraint_ID               
77127   aaaaaaaaaaaaaaaaaa  -2174.5     -2027.21    -147.29
98333   bbbbbbbbbbbbbbbbbb  -1180.62    -1180.62     0
1049    cccccccccccccccccc  -1036.53    -886.77     -149.76

似乎有一个索引Constraint_ID.当我尝试使用pd.read_clipboard读取它时,这是如何加载的:

      Constraint                Name  TotalSP   Onpeak  Offpeak
0  Constraint_ID                 NaN      NaN      NaN      NaN
1          77127  aaaaaaaaaaaaaaaaaa -2174.50 -2027.21  -147.29
2          98333  bbbbbbbbbbbbbbbbbb -1180.62 -1180.62     0.00
3           1049  cccccccccccccccccc -1036.53  -886.77  -149.76

这显然是错误的.我该如何纠正?

解决方法:

默认情况下,read_clipboard使用空格分隔列.您看到的问题是由于第一栏中的空白.如果您指定两个或多个空格作为分隔符,则根据表格式,它将找出索引列本身:

df = pd.read_clipboard(sep='\s{2,}')

df
Out: 
                  Constraint Name  TotalSP   Onpeak  Offpeak
Constraint_ID                                               
77127          aaaaaaaaaaaaaaaaaa -2174.50 -2027.21  -147.29
98333          bbbbbbbbbbbbbbbbbb -1180.62 -1180.62     0.00
1049           cccccccccccccccccc -1036.53  -886.77  -149.76

如果不能仅通过分隔符来推断结构,则index_col参数也可以用于告诉熊猫第一列是索引:

df = pd.read_clipboard(index_col=0, sep='\s{2,}')
上一篇:linux-如何通过键盘快捷键选择交换剪贴板内容


下一篇:javascript-zeroclipboard无法正常工作