如何破坏 Python 对象并释放内存

我试图迭代 100,000 个图像,捕获一些图像特征,并将生成的数据框存储在磁盘上,作为一个 pickle 文件。 不幸的是,由于 RAM 的限制,我不得不将图像分割成 20,000 的块,并在将结果保存到磁盘上之前对它们执行操作。 下面编写的代码应该在开始循环处理接下来的 20,000 个图像之前保存 20,000 个图像的结果帧。 然而 -- 这似乎并没有解决我的问题,因为内存在第一个 for 循环结束时没有从 RAM 中释放 因此,在处理第 50000 条记录时,由于内存不足错误,程序崩溃。 在将对象保存到磁盘并调用垃圾收集器后,我尝试删除它们,但是 RAM 使用率似乎没有下降。 我错过了什么? # File _ list _ 1 包含 100,000 个图像 File _ list _ chunks = list (文件 _ list_chunks,20000) 对于 count,枚举 (file _ list _ chunks) 中的 f: # 让工人池 Pool = 线程池 (64) 结果 = pool.map (get_image _ features,f) # 关闭游泳池,等待工 ……

共9个回答,已解决, 标签: python pandas memory-management out-of-memory
将具有特殊格式的文本文档转换为熊猫数据框架

我有一个文本文件, 格式如下: 1: frack 0.733, shale 0.700, 10: space 0.645, station 0.327, nasa 0.258, 4: celebr 0.262, bahar 0.345 我需要隐藏此文本的数据框架具有以下格式: Id Term weight 1 frack 0.733 1 shale 0.700 10 space 0.645 10 station 0.327 10 nasa 0.258 4 celebr 0.262 4 bahar 0.345 我怎么能做到呢? ……

共8个回答, 标签: python pandas
用两本字典绘制一只熊猫专栏图

我有一个 df : ColA ColB 1 1 2 3 2 2 1 2 1 3 2 1 我想使用两个不同的字典来更改 ColB 中的值。d1如果 ColA 中的值为 1, 如果 d2 colb 中的值为 2, 我想使用。 d1 = {1:'a',2:'b',3:'c'} d2 = {1:'d',2:'e',3:'f'} 导致: ColA ColB 1 a 2 f 2 e 1 b 1 c 2 d 如何做到这一点的最佳途径? ……

共6个回答, 标签: python pandas
根据给定条件过滤数据框并添加新列

我有一个这样的数据框 ID col1 col2 Abc 街 1 号 2017-07-27 1 无 2017-08-17 2018-07-15 Def 街 1 号 1 无 2018-08-13 月 fbg 街 2018-01-07 2 无 2018-08-12 2019-01-15 号 trf 街 2 号 我想过滤 col1 中的所有 “无”,并将相应的 col2 值添加到新的列 col3 中。我的输出是这样的 ID col1 col2 col3 1 Abc 街 2017-07-27 2017-08-17 1 Def 街 2018-07-15 2018-08-13 月 fbg 街 2018-01-07 2018-08-12 2019-01-15 号 trf 街 2 号 有人能帮我实现这个目标吗? ……

共5个回答, 标签: python python-3.x pandas numpy pandas-groupby
如何根据最大总和分配组?

我有一个这样的数据框: Df = pd。 dataFrame ({'key': list ('aaaabbcccc'),'value': [1 、 5 、 6 、 8 、 2 、 4 、 7 、 5]}) 键值 0 一 1 1 个 5 2 a 6 3 a 8 B 2 5 b 4 6 b 7 7 b 7 8 c 1 9 c 1 10 c 1 11 c 1 12 c 5 此外,我有一个变量max_sum = 10。 我想根据中的值为每一行 (I) 分配一个组keys and (ii) the max_sum每个组不应该超过它。 我的预期结果是这样的: 键值组 0 一 1 1 个 5 个 1 2 个 6 个 2 3 个 8 个 3 4 b 2 4 B 4 4 6 b 7 5 7 b 7 6 8 c 1 7 9 c 1 7 10 c 1 7 11 c 1 7 12 c 5 7 因此,前两个值a group (1 and 5) sum up to 6 which is less than 10, so they are in the same group. If we now added also 6 ……

共5个回答,已解决, 标签: python pandas dataframe
通过随机抽样其他列数据创建新列

我想通过随机采样其余列中的数据来创建一个新列。 请考虑具有 "N" 列的数据框, 如下所示: |---------------------|------------------|---------------------| | Column 1 | Column 2 | Column N | |---------------------|------------------|---------------------| | 0.37 | 0.8 | 0.0 | |---------------------|------------------|---------------------| | 0.0 | 0.0 | 0.8 | |---------------------|------------------|---------------------| 生成的数据框 ……

共4个回答,已解决, 标签: python pandas
如何使用熊猫获得包括每一个组合的计数

我正在想知道顾客一起买的是什么组合的服装。我可以计算出确切的组合, 但我想不出的问题是包括组合 + 其他的计数。 例如, 我有: Cust_num Item Rev Cust1 Shirt1 $40 Cust1 Shirt2 $40 Cust1 Shorts1 $40 Cust2 Shirt1 $40 Cust2 Shorts1 $40 这将导致: Combo Count Shirt1,Shirt2,Shorts1 1 Shirt1,Shorts1 2 我能做的最好的是独特的组合: Combo Count Shirt1,Shirt2,Shorts1 1 Shirt1,Shorts1 1 我试过了: df = df.pivot(index='Cust_num',columns='Item').sum() df[df.notnull()] = "x" df = df.loc[:,"Shirt1":].replace("x", ……

共4个回答,已解决, 标签: python pandas
将 int64 熊猫列分成两列

我得到了一个数据集,它使用 2019年5月的格式 52019 将日期作为整数。我把它放在一个 Pandas 数据框中,我需要将日期格式提取到一个月列和一年列中, 但是我不知道如何为 int64 数据类型做到这一点,也不知道如何在两位数月内处理它。所以我想拿一些 ID 日期 22019 2 32019 3 52019 5 102019 让它成为 年 ID 月 2 2019 2 2019 2019 5 2019 10 我该怎么办? ……

共4个回答,已解决, 标签: python pandas
当签名为末尾时,将字符串格式的负数转换为数字

我的数据框的一列中有某些数字,这些数字的字符串格式为负数,如下所示: “500.00-” 我需要将该列中的每个负数转换为数字格式。我确信有一个简单的方法可以做到这一点,但是我很难找到一个特定于熊猫数据框的方法。非常感谢任何帮助。 我已经尝试了如下所示的基本 to _ numeric 函数,但是它没有正确读取它。此外,只有列中的一些数字是负数,因此我不能简单地删除所有的负数,并将列乘以 1。 Q1 [“信用” = pd.to _ numeric (Q1 [“信用”) ……

共3个回答, 标签: pandas dataframe format negative-number
如何平滑和绘制 x 与 y 加权平均数, 加权 x?

我有一个数据框, 其中包含一列权重和一个值。我需要: * 离散权重, 并为每个权重间隔绘制值的加权平均值, 然后 * 将相同的逻辑扩展到另一个变量: 离散 z, 并为每个间隔绘制值的加权平均值, 按权重加权 是否有一个简单的方法来实现这一点?我已经找到了一个方法, 但它似乎有点麻烦: * 我用熊猫离散数据框。 * 做一个小组和计算加权平均 * 绘制每个纸盒的平均值与加权平均数 * 我也试图用样条来平滑曲线, 但它没有做太多 基本上, 我正在寻找一个更好的方法来产生一个更平滑的曲线。 我的输出如下所示:enter image description here [https://i.stack.imgur.com/FRVSu.png] [https://i.stack.imgur.com/FRVSu.png] 我的代码, 一些随机数据, 是: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from scipy.interpolate import m ……

为什么 pandas 逻辑运算符不像它应该的那样在索引上对齐?

考虑一下这个简单的设置: X = pd.Series ([1,2,3],索引 = list ('abc')) Y = pd.Series ([2,3,3],索引 = list ('bca')) X A 1 B 2 C 3 Dtype: int64 Y B 2 C 3 一个 3 Dtype: int64 正如你所看到的,索引是相同的,只是顺序不同。 现在,考虑使用等式 (==) 操作员: X> y -------------------------------------------------------------------------------- ValueError 反向追踪 (最近一次打电话过去) 这抛出一个ValueError, most likely because the indexes do not match. On the other hand, calling the equivalent eq操作员工作: 等式 (y) 假的 B 真 C 真 D 型: 布尔 Operator h,给定的操作方法y第一次重新订购. X = = y.reindex _ l ……

共3个回答,已解决, 标签: python pandas
在列表 vs 系列中理解 Python 语法

我是数据科学 Python (没有计算机科学背景) 的新手。我一直听说 Python 很容易,但是我在不断进步。作为一个例子,我理解: Len (标题 [(标题年> = 1950) 和 (标题年 <= 1959) “在标题数据框中,创建一个系列,从标题数据框的年份列中获取大于或等于 1950年的任何内容,以及小于或等于 1959年的任何内容。取它的长度。” 但是当我遇到以下情况时,我不理解以下逻辑: T = 标题 (T.year/10*10).value _ count ().sort_index ().plot (种类 = 'bar') 或者 标题.value _ count ().head (10) 在这两种情况下,我显然可以把它拼凑起来。但目前还不清楚。第二,为什么 Python 不允许我像第一个例子一样使用方括号和常规括号? ……

共3个回答, 标签: python pandas syntax
从返回的数据中删除索引

我有一个数据框 (df) 看起来像: 姓位置标识符 弗雷德 · 史密斯伦敦 布里斯托尔简琼斯 我试图查询一个特定的字段,并将其返回给一个变量value使用: Value = df.loc [df ['标识符'] = query _ identifier,'location'] 所以在哪里query_identifier is equal to FredSmith I get returned to value: 0 伦敦 有人能告诉我如何移除0所以我只有: 伦敦 我们将非常感谢任何帮助。 ……

共2个回答, 标签: python pandas
将垃圾公园数据框转换为熊猫数据框架

我有 pyspark 数据框的尺寸是 (28002528, 21), 并尝试使用以下代码行将其转换为熊猫数据框: pd_df=spark_df.toPandas() 我得到了此错误: 第一部分 Py4JJavaError: An error occurred while calling o170.collectToPython. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 3 in stage 39.0 failed 1 times, most recent failure: Lost task 3.0 in stage 39.0 (TID 89, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3236) at java.io.ByteArrayOutputStream.grow(ByteArrayOutp ……

共2个回答, 标签: pandas pyspark apache-spark-2.3
拆分列中的行和数据框的绘图图。Python

我的数据集包含天和小时的数据 time slot hr_slot location_point 2019-01-21 00:00:00 0 34 2019-01-21 01:00:00 1 564 2019-01-21 02:00:00 2 448 2019-01-21 03:00:00 3 46 . . . . 2019-01-22 23:00:00 23 78 2019-01-22 00:00:00 0 34 2019-01-22 01:00:00 1 165 2019-01-22 02:00:00 2 65 2019-01-22 03:00:00 3 156 . . . . 2019-01-22 23:00:00 23 ……

共1个回答,已解决, 标签: python pandas
从网站表到数据库的数据

从网站的表格中提取数据对象,而不是实际的数字或文本。 我试图从网站表格中提取信息,并存储在 SQLite 数据库中。由于提取的数据是 dtype: object,而不是文本或数字,我收到了错误。有人能帮我找到实现目标的最佳和最短的方法吗? 因此,data2 是由 pd.read _ html (“web k'”) 制作的数据框 enter image description here [https://i.stack.imgur.com/to6dR.png] [https://i.stack.imgur.com/to6dR.png] Db = sqlite3.connect (“test.sqlite”) Dbexe cute (“如果不存在数据,则创建表 (时间文本、 fut_volume 整数、 fut_turnover REAL 、 fut_OI 整数、 opt_volume 整数、 opt_turnover REAL 游标 = db.光标 () Fut_volume = data2 [1] [0] = '指数期货'] [1] Fut_turnover = data2 [1] [0] = '指 ……

共1个回答, 标签: python python-3.x pandas sqlite
按降序排序数据集的不正确结果

降序排序结果不正确 我试着根据释放条款对这个数据集进行排序,但是它不起作用。它应该向像内马尔或罗纳尔多这样的顶级球员展示高释放条款,但是它显示了一些模糊的 数据集-Https://www.kaggle.com/karangadiya/fifa19/downloads/fifa19.zip/4 [https://www.kaggle.com/karangadiya/fifa19/downloads/fifa19.zip/4] Df=pd.read_csv('data.csv ') Df1 = df [['name' 、 'time' 、 'all' 、 'release claus']] Df1.sort _ 值 (by = 'release claus',ascending = False,na _ position =' last ')。head () 预期: 像这样的东西 总体发布条款名称年龄 梅西 31 岁 94 欧元 26 米 C 罗 33 94 €1 M 2 内马尔 Jr 26 92 €228.1 M 3 De Gea 27 91 €6 M 4 K.De Bruyne 27 91 €19 ……

共1个回答, 标签: python pandas
如何将熊猫 df 转换成包含子组的字典

我有一个看起来像这样的数据框: D = {'国家: [' 美国 '、' 加拿大 '] 、 \ “城市”: [“纽约” 、 “旧金山” 、 “圣方济会” 、 “蒙特利尔” 、 “托伦托” “Landmark”: [“自由女神像” 、 “帝国大厦” 、 “金门大桥” 、 \ “任务区” 、 “比多梅” 、 “劳里公园” 、 “cn 塔” 、 “安大略皇家博物馆”} 数据框 (数据 = d) 我希望它是这样的字典: All _ options = { 美国: { “纽约”: [“自由之像”,“帝国大厦”, “旧金山”: [“金门大桥”,“任务区”, }, 【加拿大】: { “蒙特利尔”: [“比多米” 、 “劳里公园”, “Toronto”: [“cn 塔”,“安大略皇家博物馆”, } } ……

共1个回答,已解决, 标签: python pandas
需要帮助从多个 pandas 列中计算唯一值

我有一个带有两个字段的 pd 数据框: DBA 名称 (设施名称) 和许可证 #。DBA 名称有多个列表,有些列表具有相同的许可证,而另一些列表则没有。 我想知道所有 DBA 名字有多少个实例。我还想知道他们每个人都有多少个唯一的许可证。 我尝试使用 value _ count (),但是这只适用于 pandas df 中的一个字段。我也尝试使用 apply (),但这并不奏效。 我在下面展示了示例代码。请把你的想法告诉我。 Data = data [['dba name','license #']] 数据: DBA 名称许可证 # 1 忙碌的大黄蜂学院日托中心 2215472.0 2 忙碌的大黄蜂学院日托 3793.0 3 忙碌的大黄蜂学院日托 2215472.0 4 忙碌的大黄蜂学院日托 1194190.0 5 忙碌的大黄蜂学院日托 2215472.0 6 忙碌的大黄蜂学院日托 1194190.0 7 忙碌的大黄蜂学院日托 1194190.0 8 忙碌的大黄蜂学院日托 3793.0 9 忙碌的大黄蜂学院日托 3793.0 10 瓶到图书学习中心 1943545.0 11 瓶到图书学习中心 19 ……

共1个回答,已解决, 标签: python pandas
如何将 JSON 文件从 GET 请求转换为熊猫数据框?

我试图将从巨蟒 GET 请求 (请求库) 获得的 json 转换为熊猫数据框。 我已经尝试了一些其他的解决方案, 在这个问题上, 包括 json _ 规范化, 但它似乎没有起作用。数据框架显示为带有字典的单个列。 response = requests.get(myUrl, headers=head) data = response.json() #what now? 给了我以下的 json: "data": [ { "timestamp": "2019-04-10T11:40:13.437Z", "score": 87, "sensors": [ { "comp": "temp", "value": 20.010000228881836 }, { "comp": "humid", ……

共1个回答, 标签: python json pandas api