有没有办法在具有特定字母的列名称的数据框架中删除列,因为我无法找到有关此内容的任何信息?我目前有以下代码,它创建一个如下所示的数据框:
dates BETA0 BETA1 BETA2 BETA3 SVEN1F01 \
0 2015-06-17 5.06404203 -4.82869948 -4.40587372 -4.63038436 1.0273
1 2015-06-16 5.21759473 -5.10202006 -4.06913368 -5.23883082 1.1137
2 2015-06-15 5.25192065 -5.08400946 -4.34674471 -5.25279453 1.1193
3 2015-06-12 5.38755314 -5.17612353 -4.53605822 -5.62290340 1.1443
我想删除所有包含字母F
的列标题。我计划使用df.drop([df.columns[[column_names]]], axis=1)
来做这件事,但有很多我想知道是否有更简单的方法来做到这一点。
from bs4 import BeautifulSoup
import urllib.request
import requests
from itertools import islice
import pandas as pd
r = requests.get(
"http://www.federalreserve.gov/econresdata/researchdata/feds200628_1.html")
soup = BeautifulSoup(r.content)
data = soup.find('table', attrs={'rules': 'all'})
h = data.find_all("th", scope="col") #Issue
final = [[t.th.text] + [ele.text for ele in t.find_all("td")] for t in h[-1].find_all_next("tr")]
headers = [th.text for th in h]
headers.insert(0,"Date")
df = pd.DataFrame(final,columns=headers)
print(df)
谢谢
答案 0 :(得分:1)
df_filtered = df[list(filter(lambda x: "F" not in x, df.columns))]