我一直在努力寻找没有循环的熊猫解决方案:
输入:
df = pd.DataFrame({'A' : [[6,1,1,1], [1,5,1,1], [1,1,11,1], [1,1,1,20]]})
A
0 [6, 1, 1, 1]
1 [1, 5, 1, 1]
2 [1, 1, 11, 1]
3 [1, 1, 1, 20]
Run Code Online (Sandbox Code Playgroud)
输出:
A B
0 [6, 1, 1, 1] 6
1 [1, 5, 1, 1] 5
2 [1, 1, 11, 1] 11
3 [1, 1, 1, 20] 20
Run Code Online (Sandbox Code Playgroud)
在过去一个小时左右的时间里,我尝试了很多不同的东西,我知道解决方案将是一个非常简单的单线。感谢您的帮助——今天不是我的蟒蛇日!
我的最终目标是将 SQL/Python 一起用于一个有太多数据供熊猫处理的项目(至少在我的机器上)。所以,我去了dask:
对于 #1 和 #2,它们需要大约 30 秒才能使用最少的内存来执行(几个 SQL 查询大约 200 行代码使用 dask 操作大型数据集)。又快又好玩!!!
但是,上面的#3 一直是主要的瓶颈。在(1. 内存和 2. 速度(执行时间))方面,使用 dask 或其他替代方法完成 #3 的一些有效方法是什么?查看更多背景,以及我尝试过的内容和得出的一些结论。
对于上面的#1、#2 和#3,由于内存限制/执行时间长,这是我发现用熊猫无法完成的任务,但是dask用出色的颜色解决了上面的#1 和#2,但我仍然与#3 苦苦挣扎——以自动方式将数据返回到 SQL 表中,我没有发送到 .csv 然后导入到 SQL Server。我试图.compute()将 dask 数据帧转换为 Pandas 数据帧,然后写入to_sql,但是这种方式违背了使用 dask 读取/数据模型的目的,并且再次耗尽内存/无论如何都要永远执行。
因此,新计划是to_csv每天生成一个新的 .csv 并使用查询将数据批量插入到表中。我认为这仍然是一个可行的解决方案;但是,今天,我很高兴地发现 dask 发布了一个新to_sql功能(https://docs.dask.org/en/latest/dataframe-api.html#dask.dataframe.DataFrame.to_sql)。利用有关此主题的现有 StackOverflow 文章/博客(例如来自 Francois …
我是 python 新手,正在探索使用它从 excel 获取数据,并找到 pandas 库来获取数据
我需要从网站上的 HTML 表获取费率。必须从中读取数据的表 然后将其转储到 Excel 文件中。我正在使用 Python 我使用了以下代码
import pandas as pd
from datetime import datetime
import lxml as lx
import openpyxl as oxl
url = "https://www.example.com"
tables = pd.read_html(url)
table = tables[0]
table.to_excel('output.xlsx')
Run Code Online (Sandbox Code Playgroud)
“生效日期”列中的日期采用 dd mmm yyyy 格式
我想将它们转换为 dd/mm/yyyy 格式
我使用以下代码来转换表格
['Effective Date'] = pd.to_datetime(table['Effective Date'],
infer_datetime_format=False, format='%d/%m/%Y', errors='ignore')
Run Code Online (Sandbox Code Playgroud)
但它无法转换列中的日期。请有人引导我走向正确的方向。
这是完整的代码
import pandas as pd
import html5lib
import datetime
import locale
import pytz
import lxml as lx
import openpyxl as …Run Code Online (Sandbox Code Playgroud) pandas ×3
dask ×1
dask-to-sql ×1
datetime ×1
python ×1
python-3.x ×1
sql-server ×1
sqlalchemy ×1