我正在运行一个基本脚本,该脚本遍历嵌套字典,从每个记录中获取数据,并将其附加到Pandas DataFrame。数据看起来像这样:
data = {"SomeCity": {"Date1": {record1, record2, record3, ...}, "Date2": {}, ...}, ...}
总共有几百万条记录。脚本本身如下所示:
city = ["SomeCity"]
df = DataFrame({}, columns=['Date', 'HouseID', 'Price'])
for city in cities:
for dateRun in data[city]:
for record in data[city][dateRun]:
recSeries = Series([record['Timestamp'],
record['Id'],
record['Price']],
index = ['Date', 'HouseID', 'Price'])
FredDF = FredDF.append(recSeries, ignore_index=True)
但是,这非常缓慢。在寻找并行化方法之前,我只是想确保我没有错过任何明显的东西,这些东西可以使它按原样更快地执行,因为我对Pandas还是很陌生。
我还在循环中使用了数据框的 append 函数,感到困惑的是它的运行速度如何。
根据此页面上的正确答案,为遭受苦难的人提供有用的示例。
Python版本:3
熊猫版:0.20.3
# the dictionary to pass to pandas dataframe
dict = {}
# a counter to use to add entries to "dict"
i = 0
# Example data to loop and append to a dataframe
data = [{"foo": "foo_val_1", "bar": "bar_val_1"},
{"foo": "foo_val_2", "bar": "bar_val_2"}]
# the loop
for entry in data:
# add a dictionary entry to the final dictionary
dict[i] = {"col_1_title": entry['foo'], "col_2_title": entry['bar']}
# increment the counter
i = i + 1
# create the dataframe using 'from_dict'
# important to set the 'orient' parameter to "index" to make the keys as rows
df = DataFrame.from_dict(dict, "index")
“ from_dict”函数:https
://pandas.pydata.org/pandas-
docs/stable/generation/pandas.DataFrame.from_dict.html
问题内容: 有没有人对如何提高CSS3动画的流畅度有一些作弊技巧?我使用css过渡将整个页面向左滑动,比我想要的更加混乱。它是一个元素,但由于页面复杂,因此包含许多圆角,渐变,阴影等。 在Flash ActionScript中,有一个方便的属性,可以在动画开始之前将动画元素转换为位图。这是天赐之物,可显着加快某些类型的动画的速度。CSS有这样的东西吗?是否还有其他技巧可以在不简化页面设计的情况下提
这几乎完全是视频练习,其中我演示了如何改进你至今为止编写的代码的性能,但首先你应该尝试它。你已经分析了 练习 18 的代码的速度有多慢,所以现在是时候实现你的一些想法。修复简单的性能问题时,我会给你一个简单的列表来寻找和修改: 循环内的循环的重复计算可以避免。冒泡排序是经典案例,这就是我教它的原因。,一旦你看到,冒泡排序与其他方法相比有多糟糕,你将开始认识到这是一个需要避免的常见模式。 重复计算一
问题内容: 我有一张地图,其中填充了大量数据(大约有300,000条记录) 并如下迭代 } 如上所述,我担心由于在for循环内执行上述操作而导致的性能问题。 更新: 情况是。我正在迭代一个包含大量数据的地图, 在迭代它时,我正在获取用户ID,并且我必须对用户ID进行计算。例如,考虑userid+some constants并应该在数据库表中对其进行更新。 并且还应该与我地图中的列表值一起添加到电子
问题内容: 有没有一种方法可以改善这种SQL查询性能: 问题是当我的表中有许多数据(如百万行)时,子句的执行非常慢。我必须执行此验证,因为我无法插入重复的数据。 我使用SQLServer 2005 谢谢 问题答案: 确保您正在搜索索引列,而没有操纵这些列中的数据(例如子字符串等)
问题内容: 我有一个水平月历,显示员工每天的活动。 当前它正在使用具有以下层次结构/流程的表 1)控制器:根据选择的月份/年份,生成一个包含该月每天的数组。$ scope。$ watchCollection每当年份或月份更改时都会更新数组。 如代码所示,我可以做的更好: 问题在于getAssignments()是“昂贵的”,因为它需要检查: 是公共假期吗? 员工在那天工作吗? 员工有假期吗? 获取
问题内容: 已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在寻找可以改善jQuery调用选择器性能的任何方式。具体来说是这样的: 是不是快 我想可能是这样,但是我不知道jQuery是否足够聪明,可以首先通过标记名来限制搜索,等等。任何人都对如何制定jQuery选择器字符串以获得最佳性能有任何想法? 问题答案: 毫无疑问, 首先通过标记名进行