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计算dataframe结束时间列和起始时间列的时间差使用sort_values函数对dataframe数据基于时间差进行排序(设置使用倒序排序)
pandas计算dataframe结束时间列和起始时间列的时间差使用sort_values函数对dataframe数据基于时间差进行排序(默认为升序排序)
pandas使用dataframe中的两列时间对象数据列作差生成时间差数据列使用sort_values函数对timedelta对象(时间差数据列)进行排序