如何删除熊猫数据框中的多个标题行

时间:2019-06-17 17:53:33

标签: python pandas

我有一个csv文件,可以使用python将其加载到数据库表中,并使用熊猫进行转换。

如图所示,每隔一定行数,文件就有重复的标题

 ProductID   Title             Date      Volume SalesAmount
    123         Face wash    6-17-2019     7       35
    124         Cleanser     6-17-2019     6       40
    125         Hair Spray   6-17-2019     3       33
    ProductID   Title         Date       Volume SalesAmount
    126         Hair Gel     6-17-2019     5       20
    127         Shampoo      6-17-2019     4       24
    128         Nail Varnish 6-17-2019     0        0
    ProductID   Title         Date       Volume SalesAmount
    129         Nail Color   6-17-2019     9       18
    130         Moisturizer  6-17-2019     3       27

我想要的输出是顶部的单个标头

  ProductID   Title             Date      Volume SalesAmount
    123         Face wash    6-17-2019     7       35
    124         Cleanser     6-17-2019     6       40
    125         Hair Spray   6-17-2019     3       33
    126         Hair Gel     6-17-2019     5       20
    127         Shampoo      6-17-2019     4       24
    128         Nail Varnish 6-17-2019     0        0
    129         Nail Color   6-17-2019     9       18
    130         Moisturizer  6-17-2019     3       27

我可以通过排除熊猫数据框中的行来通过索引来实现它,但是我想知道如何使用熊猫中的字符串比较/正则表达式或其他更好的方法来实现相同的目的。

2 个答案:

答案 0 :(得分:3)

比将所有列都考虑在内的注释更加系统化:

df[df.ne(df.columns).any(1)]

输出:

  ProductID         Title       Date Volume SalesAmount
0       123     Face wash  6-17-2019      7         35
1       124      Cleanser  6-17-2019      6         40
2       125    Hair Spray  6-17-2019      3         33
4       126      Hair Gel  6-17-2019      5         20
5       127       Shampoo  6-17-2019      4         24
6       128  Nail Varnish  6-17-2019      0          0
8       129    Nail Color  6-17-2019      9         18
9       130   Moisturizer  6-17-2019      3         27

答案 1 :(得分:0)

一种解决方案可能是删除这些行:

df = pd.read_csv('my_data.csv')

df = df[df['ProductID'] != 'ProductID']