【问题标题】:Exclude last two rows when import a csv file using read_csv in Pandas在 Pandas 中使用 read_csv 导入 csv 文件时排除最后两行
【发布时间】:2018-01-30 05:28:53
【问题描述】:

下午,

我正在将数据从 SQL 服务器提取为 csv 格式,然后读取文件。

df = pd.read_csv(
                            'TKY_RFQs.csv', 
                            sep='~', 
                            usecols=[
                                     0,1,2,3,4,5,6,7,8,9,
                                     10,11,12,13,14,15,16,17,18,19,
                                     20,21,22,23,24,25,26,27,28,29,
                                     30,31,32,33,34,35,36,37
                                    ]
                )

有一个空白行,然后是我要删除的文件末尾的记录数。

End of file screenshot

我已经通过这段代码解决了这个问题,但想解决根本问题:

# Count_Row=df.shape[0] # gives number of row count
# df_Sample = df[['trading_book','state', 'rfq_num_of_dealers']].head(Count_Row-1)

有没有办法排除文件中的最后两行,或者删除所有列都具有空值的任何行?

皮特

【问题讨论】:

    标签: pandas dataframe python-import


    【解决方案1】:

    您可以直接在.read_csv中使用skiprows

    df = pd.read_csv(
                                'TKY_RFQs.csv', 
                                sep='~', 
                                usecols=[
                                         0,1,2,3,4,5,6,7,8,9,
                                         10,11,12,13,14,15,16,17,18,19,
                                         20,21,22,23,24,25,26,27,28,29,
                                         30,31,32,33,34,35,36,37
                                        ],
                                skiprows=-2 # added this line to skip rows when reading
                    )
    

    【讨论】:

      【解决方案2】:

      你可以试试:

      df = pd.read_csv(
                                  'TKY_RFQs.csv', 
                                  sep='~', 
                                  usecols=[
                                           0,1,2,3,4,5,6,7,8,9,
                                           10,11,12,13,14,15,16,17,18,19,
                                           20,21,22,23,24,25,26,27,28,29,
                                           30,31,32,33,34,35,36,37
                                          ]
                      )[:-2]
      

      例子:

      from pandas import read_csv
      url = "https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
      names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
      data = read_csv(url, names=names)[:-2] #to exclude last two rows
      #data = read_csv(url, names=names) #to include all rows
      print data
      #description = data.describe()
      

      【讨论】:

      • 谢谢亲!抱歉不知道那个参数。非常感谢。
      猜你喜欢
      • 2021-02-13
      • 2013-10-27
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      相关资源
      最近更新 更多