问题标签 [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.
python - 从 MultiIndex 中选择特定级别的数据
我有以下带有 MultiIndex(Z,A) 的 Pandas 数据框:
问题:如何选择 A=203 的所有项目?我试过df[:,'A']
了,但它不起作用。然后我在在线文档中找到了这个,所以我尝试了:
df.xs(203,level='A')
但我得到:
“ TypeError: xs() got an unexpected keyword argument 'level'
”我在安装的 doc( )
中也没有看到这个参数:
“参数 ---------- key : object Some label contains in索引,或部分在 MultiIndex 轴:int,默认 0 轴以在复制时检索横截面:布尔值,默认 True 是否复制数据“
注意:我有开发版本。df.xs?
编辑:我找到了这个线程。他们推荐类似的东西:
我仍然想知道带有 level 参数的 df.xs 发生了什么,或者在当前版本中推荐的方式是什么。
python - 自定义 matplotlib 绘图:象棋棋盘一样的带有彩色单元格的表格
当我学习 python 和这个有趣的绘图库时,我开始使用 matplotlib 渲染绘图。对于我正在处理的问题,我需要自定义绘图的帮助。可能已经为此提供了内置功能。
问题:我正在尝试将表格(矩形)绘制为具有 96 个单独单元格(8 行 X 12 列)的图。用特定颜色为每个替代单元格着色(如棋盘:我将使用其他颜色组合而不是黑色/白色),并从 pandas 数据框或 python 字典中为每个单元格插入值。在侧面显示列和行标签。
样本数据: http: //pastebin.com/N4A7gWuH
我希望情节看起来像这样,用 numpy/pandas ds 替换单元格中的值。
示例图: http: //picpaste.com/sample-E0DZaoXk.png
感谢您的意见。
PS:确实在 mathplotlib 的邮件列表上发布了相同的内容
python - 从 pandas DataFrame 返回最后一个有效(非空)值
假设我dataframe
看起来像:
我可以按“b”创建一个组。有没有一种快速的方法来获取每个组的“a”中的最后一个非 NA 值?在这种情况下,A 组为 3,B 组为 -9。
(在这种情况下,序列“a”按给定排序,但可能并非如此。可能还有另一列“c”,根据它定义“最后一个”。)
我通过查看 grouped.groups 字典编写了自己的循环代码。但显然,鉴于我庞大的数据集,这非常低效。我认为这可以非常简单地完成——也许我对熊猫太陌生了:-)
python - 在 pandas DataFrame 中查找列的值最大的行
如何找到特定列的值最大的行?
df.max()
会给我每列的最大值,我不知道如何获取相应的行。
python - pip install numpy pandas 失败?
Pandas 依赖于 numpy,安装 pandas 依赖项存在一个开放构建问题。无论如何,在下面的示例中为什么 pip 退出 numpy 有什么想法吗?如果使用需求文件也会发生。
然后在 numpy setup 的中间,panda setup 被触发。
....在测试 numpy 时
python - pandas 将数据聚合到 numpy 数组:数据结构转换
我使用熊猫数据框聚合了数据。下面是显示的一些实际数据以及我如何汇总它。
fdf.groupby(['row',col'])['percent'].sum()
我想做的是创建一个二维numpy数组(行=行,列=列)。有什么巧妙的方法可以做到这一点吗?
我做类似事情的另一种方法是创建一个数据透视表
pivot_table(fdf,values='percent',rows='row',cols='col', aggfunc=np.sum)
在这种情况下,我想将此数据透视表转换为 2d numpy 数组。有没有办法让我索引到这个表的每个单元格。如果是这样,那么我可能会对桌子本身没问题。
python - 使用 numpy 读取 csv 文件的主要内存问题
我从 Kaggle 获取了 KDD track1 数据集,并决定在我的 16GB 高内存 EC2 实例上将一个约 2.5GB 的 3 列 CSV 文件加载到内存中:
python 会话占用了我所有的内存(100%),然后被杀死了。
然后我使用 R(通过 read.table)读取了同一个文件,它使用了不到 5GB 的内存,在我调用垃圾收集器后它崩溃到不到 2GB。
我的问题是为什么这会在 numpy 下失败,以及将文件读入内存的正确方法是什么。是的,我可以使用生成器来避免问题,但这不是目标。
python - 将 Pandas GroupBy 输出从 Series 转换为 DataFrame
我从这样的输入数据开始
打印时显示如下:
分组很简单:
和打印产生一个GroupBy
对象:
但我最终想要的是另一个包含 GroupBy 对象中所有行的 DataFrame 对象。换句话说,我想得到以下结果:
我不太明白如何在 pandas 文档中完成此操作。欢迎任何提示。
python - 已安装的 Python 模块 - Python 找不到它们
这是一个初学者python
安装问题。这是我第一次尝试安装和调用包。我已经pip
安装了,我尝试安装两个模块 -numpy
和pandas
.
在终端中,我运行了以下命令:
两个命令都返回成功消息。这是pandas
成功消息(这是我安装的第二个软件包,并且仍在我的终端历史记录中):
pip
安装后返回类似消息numpy
。
现在,当我启动python
并尝试调用它时:
我收到此错误消息:
我尝试时也一样numpy
。
谁能告诉我我做错了什么?
python - 在循环中动态添加方法时的范围陷阱
我有一个用于分析我的锻炼数据的 API(我从 runkeeper的网站上抓取)。
我的主类是 a 的子类pandas.DataFrame
,它基本上是表格数据的容器。它支持按列名索引,返回列值的数组。
我想根据数据中存在的“健身活动”类型添加一些便利属性。因此,例如,我想添加一个属性“正在运行”:
这将返回DataFrame
在“类型”列中具有“正在运行”的所有行。
我尝试对数据中存在的所有类型动态地执行此操作。这是我天真地做的事情:
结果是所有这些属性最终都返回了相同类型活动(“步行”)的数据表。
发生的事情是,当访问属性时,会调用 lambda,它们会在为名称“type”定义的范围内查找。他们发现它绑定到字符串 'walking',因为那是 for 循环的最后一次迭代。for 循环的每次迭代都没有自己的命名空间,因此所有 lambda 只看到最后一次迭代,而不是 'type' 实际定义时的值。
任何人都可以解决这个问题吗?我可以想到两个,但它们似乎并不特别理想:
定义
__getattr__
以检查属性是否为活动类型并返回适当的行。使用递归函数调用而不是 for 循环,以便每一级递归都有自己的命名空间。
这两个对我的口味来说都太聪明了,而且pandas.DataFrame
已经有了一个__getattr__
,如果我也做了一个,我必须小心翼翼地与之互动。并且递归会起作用,但感觉非常错误,因为类型集没有任何内在的树状结构。它是平坦的,在代码中应该看起来平坦!