排除没有索引的行,并将另一行设置为Pandas中的标题

阿邦

如何从以下数据框中删除第一行并将行的设置index = 0为header?谢谢。

     0     ...           8        ---> row without index to exclude which is header of current dataframe
0   id     ...          date      ---> row to set as header
1    1     ...      2020-01-23
2    2     ...      2020-01-23
3    3     ...      2020-01-23
4    4     ...      2020-01-23
5    5     ...      2020-01-23
6    6     ...      2020-01-23
7    7     ...      2020-01-23
8    8     ...      2020-01-23
9    9     ...      2020-01-23
10  10     ...      2020-01-23

当我打印时df.columns,它会生成Int64Index([0, 1, 2, 3, 4, 5, 6, 7, 8], dtype='int64')

完整代码:

import requests
import json
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup

for page in range(1, 3):
    data = {
      'filter_LIKE_GCMC': '',
      'filter_LIKE_JSDWMC': '',
      'filter_LIKE_SGDWMC': '',
      'filter_LIKE_BABH': '',
      'currentPage': page,
      'pageSize': '15',
      'OrderByField': '',
      'OrderByDesc': ''
    }

    website_url = requests.post('http://bjjs.zjw.beijing.gov.cn/eportal/ui?pageId=308894', data = data).text
    soup = BeautifulSoup(website_url, 'html.parser')
    table = soup.find('table', {'class': 'gridview'})
    #https://stackoverflow.com/questions/51090632/python-excel-export
    df = pd.read_html(str(table), skiprows=0)[0]
    # df = pd.read_html(str(table))[0]
    # df.columns = df.iloc[0]
    # df = df.iloc[1:]
    # print(df.head(5)) 
    print(df)

输出:

     0     ...               8        ---> row without index to exclude
0   序号     ...          竣工备案日期   ---> row to set as header
1    1     ...      2020-01-23
2    2     ...      2020-01-23
3    3     ...      2020-01-23
4    4     ...      2020-01-23
5    5     ...      2020-01-23
6    6     ...      2020-01-23
7    7     ...      2020-01-23
8    8     ...      2020-01-23
9    9     ...      2020-01-23
10  10     ...      2020-01-23
11  11     ...      2020-01-23
12  12     ...      2020-01-22
13  13     ...      2020-01-22
14  14     ...      2020-01-22
15  15     ...      2020-01-22

[16 rows x 9 columns]
     0     ...               8          ---> row without index to exclude
0   序号     ...          竣工备案日期     ---> row to set as header
1   16     ...      2020-01-22
2   17     ...      2020-01-22
3   18     ...      2020-01-22
4   19     ...      2020-01-22
5   20     ...      2020-01-22
6   21     ...      2020-01-22
7   22     ...      2020-01-22
8   23     ...      2020-01-22
9   24     ...      2020-01-22
10  25     ...      2020-01-22
11  26     ...      2020-01-22
12  27     ...      2020-01-22
13  28     ...      2020-01-22
14  29     ...      2020-01-22
15  30     ...      2020-01-21

[16 rows x 9 columns]
耶斯列尔

如果可能的话,最好在此处将第二行设置为DataFrame列,这是创建的DataFrame的方法,在这里read_html

df = pd.read_html(str(table), skiprows=0)[0]
#or
df = pd.read_html(str(table), skiprows=1)[0]

要么:

df = pd.read_html(str(table), header=1)[0]

如果不可能,请使用上述解决方案:

df.columns = df.iloc[0]
df = df.iloc[1:]

编辑:输出为df = pd.read_html(str(table), skiprows=0)[0]熊猫0.25.1:

   序号                                               工程名称             建设单位  \
0   1                       朝阳区三里屯路19号院9号楼S09-1-局部内外装修工程  北京三里屯南区物业管理有限公司   
1   2  改善办学保障条件-基础设施改造-定额管理项目2-芍药居校区整体改造二期工程2标段(阶梯教室、...           北京服装学院   

  建设单位项目负责人          施工单位 施工单位项目负责人                  编号              备案部门  \
0        冯锐      北京菲尼有限公司       徐广辉  0076朝竣2020(装)0064号  北京市朝阳区住房和城乡建设委员会   
1       兰泰黔  北京广佳建设股份有限公司        卿朵  0074朝竣2020(装)0062号  北京市朝阳区住房和城乡建设委员会   

       竣工备案日期  
0  2020-01-23  
1  2020-01-23  
   序号                                               工程名称              建设单位  \
0  16                        朝阳区酒仙桥北路甲10号院205号楼1层2层内装修工程  北京美伸医学影像诊断中心有限公司   
1  17  F座办公楼(中关村科技园电子城西区二期A6地块项目)11至12层(电梯楼层12至13层)局部...        鸿合科技股份有限公司   

  建设单位项目负责人            施工单位 施工单位项目负责人                  编号              备案部门  \
0        岳洋  北京朋利嘉业装饰工程有限公司       李宗仓  0063朝竣2020(装)0051号  北京市朝阳区住房和城乡建设委员会   
1       刘秀铭   北京盛茂盛建设工程有限公司       李艳华  0064朝竣2020(装)0052号  北京市朝阳区住房和城乡建设委员会   

       竣工备案日期  
0  2020-01-22  
1  2020-01-22  

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从一行中减去秒数并将结果设置为R中的另一行

在 df 中插入一组新标题但保留现有标题并将它们设置为第一行数据

是否为没有索引的每一行在pandas中的空列中添加值?

根據另一行的值是否已被索引,在 Pandas 中設置行索引

一行中的项目计数,但另一行中没有

如何在Pandas中为具有多个条件的一行设置样式?

如何为组中具有目标值的行设置子集,如果没有,则如何为同一组中的另一行设置子集?

如何获取 txt 文件的第一行并将其设置为 Batch 中的 %variable%?

熊猫从上一行获取差异比率,并将其值存储在另一列中,并具有多索引

Pandas - 使用第二行作为标题并将第一行保留在数据框中

HLOOKUP()仅查找一行。没有标题

从另一数组中选择具有列索引的每一行中的元素

Pandas DataFrame:考虑索引(名称和日期)将一行减去另一行

将主表中的主键列设置为等于同一表中另一行的行

从1张纸中复制值并将值设置到另一张纸的最后一行

在PySpark中读取文件并将其转换为Pandas Dataframe时,如何将第一行作为标题

Excel 从 Profilename 中剪切出首字母并将其显示为另一行中的全名

迭代列并将该列的每一行值与 Pandas 中另一列的值进行比较

Python Pandas-过滤pandas数据框以获取一行中具有最小值的行,而另一行中的每个唯一值

为 Pandas 数据帧的一行中的特定列设置值

使用Google表格中的数据查询最后一行,并将空单元格设置为“文本”

Word:宏在没有第一行的表格列中设置书签

有没有办法在 Pandas 中自定义清理一行?

使用Pandas查找重复的行并将其整形为一行

Python Pandas合并两个数据帧,并将一个数据帧的一行映射到另一数据帧的所有行

将文件中的每一行设置为 char*

计算pandas中一行和前一行的stdev,没有系列错误

有没有在Java中包含3个数据,直接在一行中删除索引的功能?

在闪亮的仪表板标题的同一行中设置图像,标题和按钮