【问题标题】:what is meaning of axis=1 in pandas sort_values function? [duplicate]pandas sort_values 函数中axis = 1的含义是什么? [复制]
【发布时间】:2019-01-23 17:34:58
【问题描述】:

我有以下sn-p代码。

df = pd.DataFrame({'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'],
                   'col2' : [2, 1, 9, 8, 7, 4],
                   'col3': [0, 1, 9, 4, 2, 3]})
print(df)
sorted=df.sort_values(by=1,axis=1)
print(sorted)

以上数据为原始数据框。

以上是df.sort_values()函数的输出。

谁能解释这里发生了什么?

【问题讨论】:

  • pandas 文档对此有何评论?
  • 他们没有在这种情况下为轴提供任何示例。
  • axis=0 表示重新排列行,axis=1 表示重新排列列。 by=1 告诉列应该按第 1 行重新排序。因此,如果您检查输出,您会看到第 1 行现在按递增顺序排列。

标签: python pandas


【解决方案1】:

参数axis=1指的是列,而0指的是行。在这种情况下,您按列排序,特别是索引 1,即col2(python 中的索引从 0 开始)。

这里有一些很好的例子:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html

【讨论】:

  • 你怎么确定 col2 是 df 的索引?
  • @mad_ 并不是说​​它听起来像 col2 是索引,DataFrame 有一个实际的索引。只是意味着对于此处的列['col1', 'col2', 'col3']'col2' 位于位置 1。
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 2018-07-19
  • 1970-01-01
  • 2020-07-10
  • 2017-06-06
  • 2018-05-06
  • 2015-12-29
  • 2017-08-28
相关资源
最近更新 更多