是否有更快的方法来删除仅包含一个不同于下面代码的值的列?
cols=df.columns.tolist()
for col in cols:
if len(set(df[col].tolist()))<2:
df=df.drop(col, axis=1)
Run Code Online (Sandbox Code Playgroud)
这对于大型数据帧来说确实非常慢.从逻辑上讲,这会计算每列中的值的数量,实际上它可能在达到2个不同的值后停止计数.
我正在努力解决一个看似非常简单的问题:如何让seaborn从熊猫数据框中绘制时间序列折线图.我在这做错了什么?
import seaborn as sns
import pandas as pd
df=pd.DataFrame({"Date":["2015-03-03","2015-03-02","2015-03-01"],"Close":[1,3,2]})
df["Date"]=pd.to_datetime(df["Date"])#Not sure if seaborn can parse strings as dates
sns.tsplot(data=df,unit=None, time="Date", value="Close")
Run Code Online (Sandbox Code Playgroud)
我得到这个追溯:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-306-20e252f661c2> in <module>()
1 df=pd.DataFrame({"Date":["2015-03-03","2015-03-02","2015-03-01"],"Close":[1,3,2]})
2 df["Date"]=pd.to_datetime(df["Date"])
----> 3 sns.tsplot(data=df,unit=None, time="Date", value="Close")
C:\Anaconda\lib\site-packages\seaborn\timeseries.pyc in tsplot(data, time, unit, condition, value, err_style, ci, interpolate, color, estimator, n_boot, err_palette, err_kws, legend, ax, **kwargs)
275 for c, (cond, df_c) in enumerate(data.groupby(condition, sort=False)):
276
--> 277 df_c = df_c.pivot(unit, time, value)
278 x = df_c.columns.values.astype(np.float) …Run Code Online (Sandbox Code Playgroud) iPython工作正常,直到几个小时前我不得不进行硬关机,因为我无法打断我的内核.现在打开任何笔记本给我以下错误:
"无法建立WebSocket连接.您将无法运行代码.请检查您的网络连接或笔记本服务器配置."
我有最新版本的Chrome,我只是尝试访问本地笔记本电脑.
Javascript控制台给了我这个:
启动WebSockets:[StackOverflow不允许链接]/737c7279-7fab-467c-9e0f-cba16233e4b5 kernel.js:143
WebSocket连接失败:[StackOverflow不允许链接]/737c7279-7fab-467c-9e0f-cba16233e4b5 notificationarea.js:129
资源解释为Image但使用MIME类型image/x-png传输:"[StackOverflow不允许链接] /static/components/jquery-ui/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png".
(匿名功能)
我是 Spark 的新手,我用 Python 编写代码。
完全按照我的“Learning Spark”指南,我看到“您不需要安装 Hadoop 来运行 Spark”
然而,当我只是尝试使用 Pyspark 计算一个文件中的行数时,我收到以下错误。我错过了什么?
>>> lines = sc.textFile("README.md")
15/02/01 13:27:12 INFO MemoryStore: ensureFreeSpace(32728) called with curMem=0,
maxMem=278019440
15/02/01 13:27:12 INFO MemoryStore: Block broadcast_0 stored as values in memory
(estimated size 32.0 KB, free 265.1 MB)
>>> lines.count()
15/02/01 13:27:18 WARN NativeCodeLoader: Unable to load native-hadoop library fo
r your platform... using builtin-java classes where applicable
15/02/01 13:27:18 WARN LoadSnappy: Snappy native library not loaded
Traceback (most recent call last):
File "<stdin>", …Run Code Online (Sandbox Code Playgroud) 我正在使用官方 Google 教程连接到 Gmail 地址并使用Gmail API从电子邮件下载附件。
给出的示例代码是这样的:
try:
message = service.users().messages().get(userId=user_id, id=msg_id).execute()
for part in message['payload']['parts']:
if part['filename']:
file_data = base64.urlsafe_b64decode(part['body']['data']
.encode('UTF-8'))
path = ''.join([store_dir, part['filename']])
f = open(path, 'w')
f.write(file_data)
f.close()
except errors.HttpError, error:
print 'An error occurred: %s' % error
Run Code Online (Sandbox Code Playgroud)
我系统地得到一个KeyError:'数据'。
当我打印“零件”对象时,我得到了这个。我检查了所有电子邮件都包含附件,我看到“正文”键有“attachmentId”和“size”字段,但没有“数据”字段。
{'partId': '1',
'mimeType': 'application/x-zip-compressed',
'filename': 'Statement.zip',
'headers': [{'name': 'Content-Type', 'value': 'application/x-zip-compressed; name="Statement.zip"'},
{'name': 'Content-Description', 'value': 'Statement.zip'},
{'name': 'Content-Disposition', 'value': 'attachment; filename="Statement.zip"; size=317; creation-date="Fri, 05 Oct 2018 11:00:24 GMT"; modification-date="Fri, 05 Oct 2018 …Run Code Online (Sandbox Code Playgroud) 像这样的简单代码将不再适用于我的python shell:
import pandas as pd
df=pd.read_csv("K:/01. Personal/04. Models/10. Location/output.csv",index_col=None)
df.sample(3000)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
AttributeError: 'DataFrame' object has no attribute 'sample'
Run Code Online (Sandbox Code Playgroud)
DataFrames肯定有一个示例函数,这曾经有用.我最近在安装和卸载另一个python发行版时遇到了一些麻烦.我不知道这是否相关.
我以前在尝试执行与我导入的模块同名的脚本时遇到了类似的问题,这不是这里的情况,并且pandas.read_csv实际上正在工作.
什么可能导致这个?
我使用以下seaborn方法获得了一个很好的KDE联合图(其中返回和波动率是浮点数列表):
data=pd.DataFrame({"return":returns,"volatility":volatilities,})
a=sns.jointplot(x="volatility", y="return", data=data, size=10)
Run Code Online (Sandbox Code Playgroud)
如何在此关节图上叠加特定点?例如,如果我想在位置(0.2,0.2)的KDE聊天中叠加一个红点
我在本地计算机上运行 iPython notebook。但是,因为我在中国,所以需要使用VPN(特别是Astrill的OpenWeb协议)才能访问大部分互联网。在我的其中一台 PC 上,当 VPN 运行时,iPython 笔记本无法正常运行。例如,打开我的主页时:http://localhost:8888/tree,我看到错误消息:
Astrill Error
Connection Closed Gracefully
Run Code Online (Sandbox Code Playgroud)
如果 VPN 正在运行,iPython notebook 也不会让我打开或保存工作簿。知道为什么以及如何解决这个问题吗?
我正试图从动态页面刮一张桌子.在以下代码(需要selenium)之后,我设法获取<table>元素的内容.
我想把这个表转换成csv,我尝试了两件事,但都失败了:
pandas.read_html 返回一个错误,说我没有安装html5lib,但我这样做,实际上我可以毫无问题地导入它.soup.find_all('tr')'NoneType' object is not callable运行后返回错误soup = BeautifulSoup(tablehtml)这是我的代码:
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
import pandas as pd
main_url = "http://data.stats.gov.cn/english/easyquery.htm?cn=E0101"
driver = webdriver.Firefox()
driver.get(main_url)
time.sleep(7)
driver.find_element_by_partial_link_text("Industry").click()
time.sleep(7)
driver.find_element_by_partial_link_text("Main Economic Indicat").click()
time.sleep(6)
driver.find_element_by_id("mySelect_sj").click()
time.sleep(2)
driver.find_element_by_class_name("dtText").send_keys("last72")
time.sleep(3)
driver.find_element_by_class_name("dtTextBtn").click()
time.sleep(2)
table=driver.find_element_by_id("table_main")
tablehtml= table.get_attribute('innerHTML')
Run Code Online (Sandbox Code Playgroud) 我正在使用 Gmail API 下载电子邮件。当这些电子邮件是 HTML 时,我尝试使用 Python 的 pdfkit 将它们转换为 PDF。
这在许多情况下都有效,但在某些情况下,html 有效负载包含图像标签,如src=“cid:169abdc4ae2c4da871d2”.
这个“cid”标签似乎是指作为多部分电子邮件的一部分发送的图像,但这不能被 PDFkit 处理。错误是:
wkhtmltopdf reported an error:
Loading pages (1/6)
Error: Failed to load cid:169abf0d0cdfffb7aff2, with network status code 301 and http status code 0 - Protocol "cid" is unknown
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?有没有办法将我从 gmail 有效负载获得的 HTML 转换为具有适当图片源的标准 HTML?
python ×7
pandas ×4
gmail-api ×2
seaborn ×2
apache-spark ×1
ipython ×1
matplotlib ×1
mime ×1
module ×1
pyspark ×1
selenium ×1
vpn ×1
web-scraping ×1
websocket ×1