pandas read_csv skiprows not working

时间:2017-04-25 15:02:18

标签: python pandas

我试图跳过一些值不正确的行。

以下是我在不使用skiprows参数的情况下从文件中读取数据的数据。

>> df    
         MstrRecNbrTxt  UnitIDNmb  PersonIDNmb  PersonTypeCde
2194593              P        NaN          NaN            NaN
2194594      300146901        1.0          1.0            1.0
4100689            DAT        NaN          NaN            NaN
4100690      300170330        1.0          1.0            1.0
5732515             DA        NaN          NaN            NaN
5732516      300174170        2.0          1.0            1.0

我想跳过行2194593,4100689和5732515.我希望在表格中看不到我读过的那些行。

>> df = pd.read_csv(file,sep='|',low_memory=False,
                     usecols= cols_to_use,
                     skiprows=[2194593,4100689,5732515])

然而,当我再次打印时,那些行仍在那里。

>> df
        MstrRecNbrTxt  UnitIDNmb  PersonIDNmb  PersonTypeCde
2194593              P        NaN          NaN            NaN
2194594      300146901        1.0          1.0            1.0
4100689            DAT        NaN          NaN            NaN
4100690      300170330        1.0          1.0            1.0
5732515             DA        NaN          NaN            NaN
5732516      300174170        2.0          1.0            1.0

以下是数据:

{'PersonIDNmb': {2194593: nan,
          2194594: 1.0,
          4100689: nan,
          4100690: 1.0,
          5732515: nan,
          5732516: 1.0},
         'PersonTypeCde': {2194593: nan,
          2194594: 1.0,
          4100689: nan,
          4100690: 1.0,
          5732515: nan,
          5732516: 1.0},
         'UnitIDNmb': {2194593: nan,
          2194594: 1.0,
          4100689: nan,
          4100690: 1.0,
          5732515: nan,
          5732516: 2.0},
         '\ufeffMstrRecNbrTxt': {2194593: 'P',
          2194594: '300146901',
          4100689: 'DAT',
          4100690: '300170330',
          5732515: 'DA',
          5732516: '300174170'}}

我做错了什么?

我的最终目标是摆脱我的数据帧中的NaN值,以便数据可以作为整数而不是浮点数读取(因为这使得将此表连接到其他非浮点表很困难)。 / p>

1 个答案:

答案 0 :(得分:3)

工作示例......希望这有帮助!

iterations