pandas sort_values 函数中axis = 1的含义是啥? [复制]

Posted

技术标签:

【中文标题】pandas sort_values 函数中axis = 1的含义是啥? [复制]【英文标题】: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 行现在按递增顺序排列。 【参考方案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。

以上是关于pandas sort_values 函数中axis = 1的含义是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

pandas-06 Series和Dataframe的排序操作

pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序)

pandas排序

pandas计算dataframe结束时间列和起始时间列的时间差使用sort_values函数对dataframe数据基于时间差进行排序(设置使用倒序排序)

pandas计算dataframe结束时间列和起始时间列的时间差使用sort_values函数对dataframe数据基于时间差进行排序(默认为升序排序)

pandas使用dataframe中的两列时间对象数据列作差生成时间差数据列使用sort_values函数对timedelta对象(时间差数据列)进行排序