【问题标题】:Adding column and index to dataframe makes values NaN向数据框添加列和索引会使值 NaN
【发布时间】:2014-03-21 12:20:40
【问题描述】:

如何更改indexcolumn 以使我的值与第一个表中的值保持一致?我不明白为什么添加一些索引会将我的值更改为 NaN。

这就是我所拥有的:

Tabelle = pd.DataFrame(pd.read_csv(pfad, header = 2))
print Tabelle[:2]
                          0              1      81  60  5  63  73
0  2014-03-19T12:44:32.695Z  1395233072695  703425   0  2   1  13   
1  2014-03-19T12:44:32.727Z  1395233072727  703425   0  2   1  13    

这就是我想要的: (问题:loggerFile 没有dataFrame,见问题末尾)

Tabelle = pd.DataFrame(loggerFile, columns = ID_columns, index = RowIndex)
print Tabelle[:2]

ID --->                               0              1      81 60  5 63  73  
Zeilen-Index                                                                  
1395233072695  2014-03-19T12:44:32.695Z  1395233072695  703425  0  2  1  13   
1395233072727  2014-03-19T12:44:32.727Z  1395233072727  703425  0  2  1  13  

这就是我得到的:

----------------------------------------------------------------    
Tabelle = pd.DataFrame(pd.read_csv(pfad), index = RowIndex)
print Tabelle[:2]

              Time Unixtime  Typ   grunz quak  bla blab Blub  \
Zeilen-Index                                                                
1395233072695  NaN  NaN  NaN  NaN  NaN   NaN   NaN NaN  NaN   
1395233072727  NaN  NaN  NaN  NaN  NaN   NaN   NaN NaN  NaN
----------------------------------------------------------------    
Tabelle = pd.DataFrame(pd.read_csv(pfad), columns = ID_columns, index = RowIndex)
print Tabelle[:2]

ID --->         0   1  81  60   5  63  73  
Zeilen-Index                                                                 
1395233072695 NaN NaN NaN NaN NaN NaN NaN    
1395233072727 NaN NaN NaN NaN NaN NaN NaN   

----------------------------------------------------------------
Tabelle = pd.DataFrame(pd.read_csv(pfad), columns = ID_columns)
print Tabelle[:2]

ID --->   0   1  81  60   5  63  73  
0       NaN NaN NaN NaN NaN NaN NaN  
1       NaN NaN NaN NaN NaN NaN NaN 

但如果我列一个这样的列表:

loggerFile =

[['2014-03-19T12:44:32.695Z', '1395233072695', '703425', '0', '2', '1', '13', '5', '21', '25', '0', '25', '209', '0', '145', '0', '0'], ['2014-03-19T12:44:32.727Z', '1395233072727', '703425', '0', '2', '1', '13', '5', '21', '25', '0', '25', '209', '0', '146', '0', '0'], ['2014-03-19T12:44:32.758Z', '1395233072758', '703425', '0', '2', '1', '13', '5', '21', '25', '0', '25', '209', '0', '145', '0', '0'], ['2014-03-19T12:44:32.790Z', '1395233072790', '703425', '0', '2', '1', '13', '5', '21', '25', '0', '25', '209', '0', '145', '0', '0'], ['2014-03-19T12:44:32.821Z', '1395233072821', '703425', '0', '2', '1', '13', '5', '21', '25', '0', '25', '209', '0', '145', '0', '0']]

并将其添加为数据,它可以工作:

Tabelle = pd.DataFrame(loggerFile, columns = ID_columns, index = RowIndex)

ID --->                               0              1      81 60  5 63  73  
Zeilen-Index                                                                  
1395233072695  2014-03-19T12:44:32.695Z  1395233072695  703425  0  2  1  13   
1395233072727  2014-03-19T12:44:32.727Z  1395233072727  703425  0  2  1  13  

我的ID_columns 是这样从列表中排除的:

ID_columns = pd.Index(ID_list, name="ID --->") 

列表ID_list 的样子

['0', '1', '81', '60', '5', '63', '73', nan, '10', '11', '2', '16', '30', '20', '33', '94', '61']

【问题讨论】:

    标签: python r dataframe ipython-notebook


    【解决方案1】:

    我认为问题是您没有正确读取 csv 文件,请尝试:

     pd.read_csv(pfad,sep='\s+')
    

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 2020-03-12
      • 2013-04-11
      • 2017-04-30
      • 2018-08-24
      • 2015-08-11
      • 1970-01-01
      • 2018-12-06
      • 1970-01-01
      相关资源
      最近更新 更多