无法删除[未命名:0]和NaN field d

2024-10-03 15:35:24 发布

您现在位置:Python中文网/ 问答频道 /正文

无法删除[未命名:0]和NaN字段数据pd.数据帧,不知道为什么下面的编码会产生太多不需要的数据,谢谢!你知道吗

# -*- coding:UTF-8 -*-

from pyvirtualdisplay import Display
from bs4 import BeautifulSoup
from selenium import webdriver
import pandas as pd

display = Display(visible=0, size=(1024, 768))
display.start()

driver = webdriver.Firefox()
driver.get("http://www.fdmbenzinpriser.dk/searchprices/5/")

lines = [event.get_attribute('outerHTML') for event in driver.find_elements_by_xpath('//table[@id="sortabletable"]')]

df = pd.concat([pd.read_html(line)[0] for line in lines], ignore_index=True)
print df
print df.shape

driver.close()
display.stop()

存在编码输出:

[                                           Unnamed: 0   Pris                        Adresse      Tidspunkt
0                                                 NaN   8.99       Odinsvej 2 4100 Ringsted  11 timer 55 m
1                                                 NaN   9.09   Sdr.Havnegade 3 6000 Kolding  14 timer 48 m
2                                                 NaN   9.09    Vestermarksvej 2 6600 Vejen  16 timer 35 m
3                                                 NaN  10.99  Bøsbrovej 92B 8940 Randers SV   21 timer 1 m
* Denne pris er indberettet af selskabet Indbe...    NaN

预期产量:

Pris                               Adresse       Tidspunkt
8.99              Odinsvej 2 4100 Ringsted   8 timer 47 m
9.09          Sdr.Havnegade 3 6000 Kolding  11 timer 39 m
9.09           Vestermarksvej 2 6600 Vejen  13 timer 27 m
10.99            Kastanievej  2 5800 Nyborg  17 timer 52 m
10.99            Vestvejen 95 6200 Aabenraa  17 timer 52 m
10.99     Gammel Århusvej 3 8940 Randers SV  17 timer 52 m
10.99   Frederiksværksgade 87 3400 Hillerød  17 timer 52 m
10.99        Egelundsvej 5 2620 Albertslund  17 timer 52 m
10.99         Bøsbrovej 92B 8940 Randers SV  17 timer 52 m
10.99           Milnersvej 47 3400 Hillerød  17 timer 52 m

Tags: 数据fromimport编码dfgetdriverdisplay
1条回答
网友
1楼 · 发布于 2024-10-03 15:35:24

对于带有^{}的布尔掩码,可以使用removeUnnamed^{}

df = df.loc[:, ~df.columns.str.startswith('Unnamed')]

如果需要删除所有列数据中的NaN,请使用^{}

df.dropna(axis=0, how='all', inplace=True)

相关问题 更多 >