小编afo*_*377的帖子

PyDev 导入时间比使用命令行慢 10 倍

我是 python 新手,在 Eclipse 中使用 PyDev 我注意到每当我尝试执行我正在处理的代码时启动时间都非常慢。我将范围缩小到库导入。

例如,如果我运行以下代码

import timeit
startTime = timeit.default_timer()

import numpy as np
print("loaded numpy: ", timeit.default_timer() - startTime)

import pandas as pd
print("loaded pandas: ", timeit.default_timer() - startTime)

from pandas import ExcelWriter
print("loaded sub-pandas 1: ", timeit.default_timer() - startTime)

from pandas import DataFrame
print("loaded sub-pandas 2: ", timeit.default_timer() - startTime)

import timeit
print("loaded timeit: ", timeit.default_timer() - startTime)

from sqlalchemy.sql.expression import false
print("loaded sqlalchemy: ", timeit.default_timer() - startTime)

import os
print("loaded os: ", timeit.default_timer() - …
Run Code Online (Sandbox Code Playgroud)

python eclipse pydev

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

用值填充非常大的数据框的快速方法

我有一个非常大的数据框,其中有 100 年的日期作为列标题(即 ~36500 列)和 100 年的日期作为索引(即 ~36500 行)。我有一个函数可以计算数据帧的每个元素的值,该函数需要运行 36500^2 次。

好吧,问题不在于该函数是否非常快,而在于向数据帧分配值。即使我以这种方式分配一个常量,每 6 次分配也需要大约 1 秒。显然,正如你所见,我很厚:

for i, row in df_mBase.iterrows():
    for idx, val in enumerate(row):
        df_mBase.ix[i][idx] = 1
    print(i)
Run Code Online (Sandbox Code Playgroud)

通常在 C/Java 中,我会简单地循环遍历 36500x36500 双循环,并通过索引直接访问预先分配的内存,这可以在恒定时间内实现,几乎没有任何开销。但这似乎不是 python 中的一个选项?

将这些数据存储在数据框中的最快方法是什么?无论是否是Pythonian,我只追求速度——我不关心优雅。

python dataframe pandas

5
推荐指数
2
解决办法
8008
查看次数

将带有时间戳的pandas数据帧转换为String

将带有时间戳的pandas系列转换为字符串非常简单,例如:

dateSfromPandas = dfC['Date324'].dt.strftime('%Y/%m/%d')
Run Code Online (Sandbox Code Playgroud)

但是,如何转换所有列均为日期的大熊猫数据框。上面的方法不适用于:

dateSfromPandas = dfC.dt.strftime('%Y/%m/%d')
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
1
解决办法
3612
查看次数

标签 统计

python ×3

dataframe ×2

pandas ×2

eclipse ×1

pydev ×1