小编Ale*_*ont的帖子

只使用一个不同的值快速删除数据框列

是否有更快的方法来删除仅包含一个不同于下面代码的值的列?

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个不同的值后停止计数.

python pandas

9
推荐指数
4
解决办法
7839
查看次数

来自熊猫数据帧的seaborn时间序列

我正在努力解决一个看似非常简单的问题:如何让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)

python pandas seaborn

8
推荐指数
1
解决办法
8535
查看次数

无法建立iPython笔记本Websocket连接

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".

(匿名功能)

ipython websocket ipython-notebook

6
推荐指数
1
解决办法
719
查看次数

PySpark 错误:“输入路径不存在”

我是 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)

apache-spark pyspark

6
推荐指数
1
解决办法
2万
查看次数

在 python 中从 Gmail 下载附件:没有“数据”键

我正在使用官方 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 google-api-python-client gmail-api

6
推荐指数
2
解决办法
1346
查看次数

DataFrame对象没有属性'sample'

像这样的简单代码将不再适用于我的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实际上正在工作.

什么可能导致这个?

python module pandas

5
推荐指数
1
解决办法
6138
查看次数

将数据添加到seaborn jointplot

我使用以下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聊天中叠加一个红点

python matplotlib seaborn

5
推荐指数
1
解决办法
2781
查看次数

iPython 笔记本在 VPN 后不起作用

我在本地计算机上运行 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 也不会让我打开或保存工作簿。知道为什么以及如何解决这个问题吗?

vpn ipython-notebook

5
推荐指数
1
解决办法
2166
查看次数

在python中将html表转换为csv

我正试图从动态页面刮一张桌子.在以下代码(需要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)

python selenium beautifulsoup web-scraping pandas

5
推荐指数
2
解决办法
5424
查看次数

将 Gmail 转换为 PDF:在 HTML 中嵌入图像

我正在使用 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 mime gmail-api

5
推荐指数
1
解决办法
300
查看次数