问题标签 [pandas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10432 浏览

python - 如何使用日期时间对数据框进行切片?

我有一个, 用一个对象pandas.DataFrame df1索引。pandas.DateRange

如果我有一个d1and d2,作为日期时间,为什么不起作用df[d1:d2],我怎样才能获得这个切片?

0 投票
1 回答
1504 浏览

python - 构建由不同块组成的 pandas.DataFrame 的最佳方法

我正在批量运行每日模拟:我进行 365 次模拟以获得全年的结果。每次运行后,我想从结果中提取一些数组并将它们添加到 pandas.DataFrame 以供稍后分析。

我有一个粗略的模型(进行优化)和一个用于后期模拟的更精确的模型,所以我可以从两个来源获得相同的变量。如果后期模拟完成,结果可能会覆盖优化结果。
为了使其更复杂,优化模型具有较小的输出间隔,具体取决于离散化设置,但最终分析将发生在模拟后的较大间隔上)。

构造此 DataFrame 的最佳方法是什么?

这是我的第一个方法:

  1. DataFrame df为全年创建一个空白,DateRange索引具有较大的模拟后间隔(= 15 分钟)
  2. df_temp优化 1 天 ==>使用DateRange间隔较小的索引创建临时索引
  3. 如此处所述,将其缩减DataFrame至 15 分钟:
  4. 更新dfdf_temp(中的行df仍然是空的,除了上一次运行的最后一行,所以我必须采取df_temp[1:]
  5. 为同一天做模拟 ==>df_temp2以间隔 = 15 分钟创建临时
  6. df覆盖相应的行df_temp2

我应该在步骤 4) 和 6) 中使用哪些方法?还是从一开始就有更好的方法?谢谢,罗尔

0 投票
2 回答
11084 浏览

python - 使用 psycopg2 将 pandas DataFrame 快速插入 Postgres DB

我正在尝试以最有效的方式(使用 Python 2.7)将pandas DataFrame 插入 Postgresql DB(9.1)。
使用“cursor.execute_many”真的很慢,“DataFrame.to_csv(buffer,...)”和“copy_from”也是如此。
我发现一个已经很多了!网络上更快的解决方案(http://eatthedots.blogspot.de/2008/08/faking-read-support-for-psycopgs.html),我适应了熊猫。
我的代码可以在下面找到。
我的问题是这个相关问题的方法(使用“从标准输入复制二进制”)是否可以很容易地转移到使用 DataFrames,如果这会更快。
使用带有 psycopg2 的二进制 COPY 表 FROM
不幸的是,我的 Python 技能不足以理解这种方法的实现。
这是我的方法:

0 投票
6 回答
17550 浏览

python - pandas - 获取由另一列索引的特定列的最新值(获取由另一列索引的特定列的最大值)

我有以下数据框:

我想获取这些数据的一个子集,'data_date'以便'value'每个'obj_id'.

我已经拼凑了一个解决方案,但感觉很脏。我想知道是否有人有更好的方法。我敢肯定我一定错过了一些通过熊猫来做到这一点的简单方法。

我的方法本质上是分组、排序、检索和重组,如下所示:

0 投票
1 回答
212 浏览

pandas - Series 和 DataFrame 对象中存储了哪些额外数据?

我对配置或修补熊猫感兴趣,以使其内存开销尽可能低。在一个实验中,我创建了 2 个 numpy 数组,每个数组包含 5000 万个 uint32 值。以 numpy 格式存储这些数组需要 200 + 200 = 400 MB。如果我将其中一个数组包装成一个 Series 对象(index=None),那么它会消耗大约 600 MB 的内存。如果我将这两个数组包装成一个 DataFrame 对象(index=None),那么内存需求约为 1600 MB。

似乎额外的内存要求是#rows * 8 字节用于系列存储,#rows * (#columns + 1) * 8 字节用于 DataFrame 存储。你能解释一下Series和DataFrame对象中究竟存储了哪些额外数据以及原始numpy数组吗?

0 投票
3 回答
20178 浏览

python - 如何使用 Python Pandas 在特定日期时间索引之后获取最近的单行

数据框我有:

我现在使用的是:

有没有更好的方法来做到这一点?我不喜欢我必须指定 .ix[0:1] 而不是 .ix[0],但如果我不指定输出更改为 TimeSeries 而不是 DataFrame 中的单行。我发现在原始 DataFrame 之上使用旋转的 TimeSeries 更难。

没有.ix[0:1]

谢谢,

约翰

0 投票
1 回答
1058 浏览

parsing - 熊猫日期转换器

使用 Pandas 读取文件时,我在解析文件的日期时遇到了一些问题。

我正在使用 python(x,y),版本 2.7。

我正在尝试读取的文件具有以下格式:

使用以下代码行:

输出是:

日期未解析。尝试使用日期执行任何类型的计算时出现错误。我不知道如何使用转换器,并且真的可以使用您的帮助。

0 投票
3 回答
3571 浏览

python - 在 python pandas 中读取 csv 并处理错误值

我正在使用熊猫来读取 csv 文件。数据是数字,但以文本形式存储在 csv 文件中。有些值在错误或缺失时是非数字的。如何过滤掉这些值并将剩余数据转换为整数。

我认为有一种比循环遍历所有值并isdigit()用于测试它们是否为数字的更好/更快的方法。

pandas 或 numpy 是否有办法识别读者的不良价值观?如果没有,最简单的方法是什么?我是否必须指定 dtypes 才能完成这项工作?

0 投票
2 回答
3922 浏览

python - 在熊猫数据框上绘制堆积条形图

这是我在 pycon 参加 Wesley 的教程后第一次尝试使用 Pandas 库。

在对数据框进行了一番探索之后,我很高兴能够以我想要的方式按摩数据,但在绘制数据时遇到了麻烦。我想这也表明我对 matplotlib 库的幼稚。

我拥有的是带有以下数据的熊猫系列对象。我想绘制一个条形图,其中 col 1('file')作为垂直方向的标签。

0 投票
1 回答
434 浏览

python - 熊猫:通过使用具有相同索引的第二个系列来更改一个系列

最近,我正在处理 pandas 中的两个系列:

  • 第一个系列包含纯数字数据
  • 第二个系列包含分类数据:“加号”、“减号”和 NaN。

示例数据:

(在实际场景中,第二个系列是使用与第一个相同的索引以编程方式构建的,但这里只是一个简化示例)

我首先做一些操作:

然后我需要反转相应“减号”条目的符号(乘以-1),然后转到NaN第二个系列中的NaN.

后一部分工作正常:

但是我有点坚持前一部分。如何使用第二个系列中的信息(假设它们具有相同的索引)来切换第一个系列中的标志?

作为参考,应用后first_series应该变成这样: