我有一个如下所示的数据框:
A B C D
foo foo foo ['list_value']
bar bar bar ['list_value', 'another_list_value']
baz baz baz []
Run Code Online (Sandbox Code Playgroud)
如何过滤掉空列表?我正在尝试,.isin但它给了我一个错误:
df[df['D'].isin([])]
SystemError: <built-in method view of numpy.ndarray object at 0x0000017ECA74BF30> returned a result with an error set
Run Code Online (Sandbox Code Playgroud)
我也检查了这个问题,但无法弄清楚如何在 DataFrame 上下文中实现。
任何帮助将不胜感激。
我正在使用 python/SQLAlchemy 从 MySQL 数据库中提取数据。我有 2 个不同的主机,每个主机都有一个数据库,我需要加入 2 个表(每个主机/数据库中一个)。我该怎么做?
我正在阅读此文档,但无法获得任何直接的帮助。连接到一个数据库非常简单:
engine = create_engine('mysql+pymysql://user:pass@host/database')
Run Code Online (Sandbox Code Playgroud)
但我不确定如何使用两个引擎。
有人吗?提前致谢。
我的数据库空间不足,因此我对旧记录进行了备份。现在,我必须清除这些记录,并且我的参考列是“日期”。
我尝试使用标准方法:
DELETE FROM table WHERE date >= '2017-01-01' AND date <= '2017-12-31'
Run Code Online (Sandbox Code Playgroud)
但这显然要花费太多时间,因为要删除的行超过700万行。有没有办法加快速度?我试图划分成几个月甚至更小的块,但是在运行代码一段时间后,我与服务器断开了连接。
提前致谢。
编辑:
CREATE TABLE table (
id INT(11) NOT NULL AUTO_INCREMENT,
date DATE DEFAULT NULL,
# 18 more columns
PRIMARY KEY (id)
)
ENGINE = INNODB,
AUTO_INCREMENT = 29616055,
AVG_ROW_LENGTH = 317,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_general_ci;
Run Code Online (Sandbox Code Playgroud)