Xticks by pandas 情节,用字符串重命名

2024-05-24

我有这个df:

df = pd.DataFrame({'A': [1, 2, 3], 'B': [2, 3, 5], 'C': ['name 1', 'name 2', 'name 3']})
   A  B       C
0  1  2  name 1
1  2  3  name 2
2  3  5  name 3

绘制柱状图的正确方法是什么A并使用列C作为xticks?

这些不起作用:

df['A'].plot(xticks='C')
df['A'].plot(xticks=df['C'])

这会更改 xticks 但不会更改标签:

df['A'].plot(xticks=[1,2,3])

我真的应该转换为序列吗?我对问题也有一些修改。我收到下一条错误消息:

ValueError: could not convert string to float: name 3

简而言之,我有一列字符串,想将其用作我的绘图的 xticks。

PS:看起来没有直接的 pandas 绘图功能。我找到了解决方案here https://stackoverflow.com/questions/12945971/pandas-timeseries-plot-setting-x-axis-major-and-minor-ticks-and-labels.


您提供的链接是一个很好的资源,但显示了整个过程matplotlib.pyplot和用途.subplots()到达轴。虽然我之前已经这样做过,但我一直在寻找仅使用内置 pandas 的方法.plot()尽可能发挥作用。对我来说,它可以简化代码并更轻松地利用 DataFrame 的优点。

似乎确实有很多事情并不容易完全在参数范围内完成df.plot()不过,就其本身而言。幸运的是它返回一个matplotlib.AxesSubplot,这开辟了更大范围的可能性。

我将上面的数据复制到 DataFrame 中:

df = pd.read_clipboard(quotechar="'")

它看起来有点像:

   A B  C
0  1 2 'name 1'
1  2 3 'name 2'
2  3 5 'name 3'

但是,当然,在非表格残缺的 html 中要好得多。 (也许有一天SO会解决这个问题)。

然后我所要做的就是:

ax = df.A.plot(xticks=df.index, rot=90)
ax.set_xticklabels(df.C)

如果您使用 IPython/Jupyter 并且%matplotlib inline那么这两个都需要在同一个单元格中。一开始我忘记了这一点,并花了相当多的时间试图找出问题所在。

您可以使用以下命令完成这一切ax多变的:

 ax = df.A.plot()
 ax.set_xticks(df.index)
 ax.set_xticklabels(df.C, rotation=90)

但是,正如我提到的,我还没有找到一种方法xticklabels在 - 的里面df.plot()函数参数,这使得可以在一行中完成这一切。

在此示例中,旋转 xtick 标签的额外步骤可能是无关紧要的,但在我寻找此答案时正在处理的示例中却派上了用场。

当然,您可以更轻松地将 A 列和 B 列绘制在一起:

 ax = df.plot()
 ax.set_xticks(df.index)
 ax.set_xticklabels(df.C, rotation=90)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xticks by pandas 情节,用字符串重命名 的相关文章

随机推荐

  • 电报频道的帖子观看次数[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想了解有关电报频道的帖子浏览计数系统的更多信息 它是如何工作的 与此相关的API VB 部分是什么 我也有这个疑问 为了得到答案 我
  • 基于范围的 for 循环对性能有益吗?

    阅读 Stack Overflow 上有关 C 迭代器和性能 的各种问题后 我开始想知道是否for auto elem container 被编译器 扩展 成最好的版本 就像auto 编译器立即将其推断为正确的类型 因此永远不会更慢 有时甚
  • 可移植类库配置文件 78 缺失属性相关方法/属性

    在我的 PCL 核心项目 WP8 Android iOS Xamarin MvvmCross 中 我使用自定义属性 Type GetCustomAttributes 扩展方法允许我检查所使用的属性 使用 PCL Profile104 效果很
  • 在 Swift 中使用 CIColorMatrix 过滤器

    以下 Swift 函数应该使用指定的 tintColor 对灰度图像 greyImage 进行着色 import UIKit func colorizeImage greyImage UIImage tintColor UIColor gt
  • VBA 将数据透视表的源数据更新到行尾

    我试图弄清楚当使用 VBA 数据更改时如何将数据透视表源数据更新到行尾 我当前的代码如下 Dim shBrandPivot As Worksheet Dim shCurrentWeek As Worksheet Dim shPriorWee
  • 转换为盒子

    我有一个Box
  • 如何将 AWS CLI 的输出保存在变量中?

    我想将 AWS CLI 的输出保存在变量中 并在另一个 AWS CLI 中使用该变量 我所做的如下 taskarn aws ecs list tasks cluster mycluster service name myService re
  • WordPress 无法与站点通信

    我正在尝试添加一个搜索框 到目前为止我拥有的代码是 div style padding right 30px padding top 25px height 50px width 500px div 我不断收到以下消息 无法与站点通信以检查
  • React:搜索过滤器无法正常工作

    我通过 API 从服务器获取记录 API 是在 Loopback 中构建的 实际上 我在每个页面上显示 5 条记录 目前工作正常 我可以导航next or prev通过分页按钮 每页显示 5 条记录 问题是 当用户在搜索框中键入内容时 记录
  • 为什么 Perl 的 LWP 给我的编码与原始网站不同?

    可以说我有这个代码 use strict use LWP qw get my content get http www msn co il print STDERR content 错误日志显示类似 xd7 x9c xd7 x94 xd7
  • 理解Python for循环中的范围

    下面的程序正在查找给定范围内的素数 对于 noprimes 列表理解部分 为什么我们有 3 个参数在范围内 noprimes j for i in range 2 8 for j in range i 2 50 i primes x for
  • Sencha Touch Label - 它有点击事件吗?

    我正在尝试使用 sencha touch 2 构建一个抽认卡应用程序 我有一个显示问题的标签 它占据了整个屏幕 我希望这样当用户点击标签时就会显示答案 标签有 点击 事件吗 当我使用按钮时它有效 但当我使用标签时则无效 另一种方法是我是否可
  • ASP .net 从 page_load 函数后面的代码中获取隐藏值

    我在 javascript 代码中设置了一个隐藏字段
  • 使用 cypher 和 apoc 将数百万个节点添加到 neo4j 空间层

    我有一个包含 380 万个节点的数据集 我正在尝试将所有这些加载到 Neo4j 空间中 节点将进入一个简单的点层 因此具有所需的纬度和经度字段 我试过了 MATCH d pointnode WITH collect d as pn CALL
  • 匀称多边形到二元蒙版

    我已经看到这个问题被问到 但还没有真正找到完整的答复 我有一个简单的形状多边形 称为polygon 我想提取这个多边形作为二进制掩码 最好是 numpy 数组 我该怎么做呢 我还成功地从 shapely 转换为 geopandas 如图所示
  • 从 HDFS 传出文件

    我想将文件从 HDFS 传输到另一台服务器的本地文件系统 该服务器不在 hadoop 集群中 而是在网络中 我本可以这样做 hadoop fs copyToLocal
  • Android 获取未聚集的标记

    我正在开发一个 Android 应用程序并且正在使用Google 地图 Android API 实用程序库 https developers google com maps documentation android utility 更具体
  • 最大宽度不适用于弹性项目

    我有一列中有一个弹性容器和两个弹性子容器 顶部 div 应填充所有剩余空间 底部 div 的高度应由内容和max width 但底部 div 的宽度正在缩小到其内容的宽度 这max width正在被忽视 hero image min hei
  • 使用 membus 和 ioc 容器的 SetHandlerInterface() 的多种类型

    过去此处演示 CQRS 代码 https gist github com hyrmn 3200053 raw 39ae14e4226d5e0d032690bf0e37e75286d2a1f7 EndToEndTests cs命令和事件处理程
  • Xticks by pandas 情节,用字符串重命名

    我有这个df df pd DataFrame A 1 2 3 B 2 3 5 C name 1 name 2 name 3 A B C 0 1 2 name 1 1 2 3 name 2 2 3 5 name 3 绘制柱状图的正确方法是什么