小编Dav*_*son的帖子

根据索引号从列表中返回值

我一直在努力寻找没有循环的熊猫解决方案:

输入:

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)

在过去一个小时左右的时间里,我尝试了很多不同的东西,我知道解决方案将是一个非常简单的单线。感谢您的帮助——今天不是我的蟒蛇日!

python pandas

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

使用 Dask 的新 to_sql 提高效率(内存/速度)或替代从 dask 数据帧获取数据到 SQL Server 表

我的最终目标是将 SQL/Python 一起用于一个有太多数据供熊猫处理的项目(至少在我的机器上)。所以,我去了dask

  1. 从多个来源(主要是 SQL Server 表/视图)读入数据
  2. 将数据操作/合并到一个包含约 1000 万行和 52 列的大型 dask 数据框表中,其中一些具有一些长的唯一字符串
  3. 每天将其写回 SQL Server,以便我的 PowerBI 报表可以自动刷新数据。

对于 #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 …

sql-server sqlalchemy pandas dask dask-to-sql

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

使用 python 和 pandas 从 html 表中的另一种日期格式转换为 Excel“日期”格式(在 Excel 文件内)

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

datetime python-3.x pandas

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