我在一个大学的项目上苦苦挣扎了几天,一周后我必须交上来。我正在使用一个数据集(主要使用熊猫),我必须分析有关登山探险的信息。我的条形图工作得很好,但每次我都会遇到同样的问题:我的x轴没有按顺序增长,这不是最重要的,但它仍然困扰着我。我一直在网上到处寻找,但我找不到任何东西来解决我的问题。以下是我的代码行:
expeditions['members'].value_counts().plot.bar(figsize=(12,8))
如何按成长顺序排列x轴?我知道这一定很简单,但我就是不知道怎么做;我对所有其他图表都有同样的问题...
谢谢你的帮助!
只是为了说明
你需要在你的情节之前sort_values/value_counts或value_counts/sort_index,正如前面两个答案所建议的:
import pandas as pd
import matplotlib.pyplot as plt
# Sample
expeditions = pd.DataFrame({'members': np.random.randint(1, 10, 100)})
expeditions['members'].sort_values().value_counts(sort=False) \
.plot.bar(figsize=(12, 8), legend=False)
plt.show()
value\u计数
默认情况下按降序频率对值进行排序。使用sort=False禁用排序:
expeditions['members'].value_counts(sort=False).plot.bar(figsize=(12,8))
或者在绘制之前对索引进行排序:
expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))
尝试按如下方式对索引进行排序:
expeditions['members'].value_counts().sort_index().plot.bar(figsize=(12,8))
采用以下数据帧: 我想增加两列: 行在其组中的顺序 我知道我可以用自定义应用程序来实现,但我想知道是否有人有什么有趣的想法?(当有许多组时,这也很慢。)这里有一个解决方案:
问题内容: 我正在尝试在date列上合并两个数据框(都尝试作为type或,但是无法提供所需的合并输出: 问题答案: 我认为您需要首先转换两列,因为需要相同的内容:
问题内容: 我有以下数据(2列4行): 我正在尝试将列合并为一列,看起来像这样(1列,8行): 我使用的熊猫数据框,并使用不同的功能,但没有成功(试过,等)。非常感激任何的帮助! 问题答案: 更新资料 熊猫为此有一个内置的方法,它可以根据您的意愿看到其他答案。 这是我很多年前才知道的第一个答案:
问题内容: 我目前有使用PIVOT生成如下表的查询: 我想做的是,但看起来像是拉伸,结果是值递减。 这是查询: 这样做会产生错误,因此可以指定列吗? 问题答案: 试试这个:
问题内容: 在Java中,是否有一个对象的作用类似于用于存储和访问键/值对的Map,但是可以返回键的有序列表和值的有序列表,从而使键和值列表的顺序相同? 因此,按照代码进行解释,我正在寻找某种行为,就像我的虚拟OrderedMap: 问题答案: 该SortedMap的接口(与实施TreeMap的)应该是你的朋友。 该接口具有以下方法: keySet() 它以升序返回一组键 values() 它以对
我今天观察到,选择两列或更多列的数据帧可能比只选择一列慢得多。 如果我使用loc或iloc选择多个列,并且我使用list传递列名或索引,那么与使用iloc的单个列或多个列选择相比,性能会下降100倍(但没有传递列表) 示例: 单列选择: 两列选择: 只有此选择的工作方式与预期相同:[编辑] 机制上的差异是什么?为什么差异如此之大? [编辑]:正如@run-out指出的,pd。系列似乎比pd处理得快