by:指定要排序的列名或列名列表。可以是单个字符串或字符串列表。默认为单个字符串。示例:df.sort_values(by='Age') 或 df.sort_values(by=['Name', 'Age'])。
ascending:指定排序顺序,为bool值或bool值列表。默认为True(升序),False表示降序。如果传入的是bool值列表,必须与by参数中的列名列表长度相同。示例:df.sort_values(by='Age', ascending=False) 或 df.sort_values(by=['Name', 'Age'], ascending=[True, False])。
axis:指定按照列排序还是按照行排序。默认为0表示按照列排序,1表示按照行排序。
inplace:指定是否原地排序,即是否修改原始DataFrame对象。默认为False,会返回排序后的新DataFrame。如果设置为True,则在原DataFrame上进行排序,并返回None。
na_position:指定缺失值的位置。默认为'last',将缺失值放在排序结果的最后。'first'表示将缺失值放在排序结果的最前面。
ignore_index:指定是否重置排序后的索引。默认为False,保持原始索引。如果设置为True,则对排序结果进行重新索引。
代码说明:
import pandas as pd
#转置数据
d={'one':pd.Series([1,2,3],index=['a','b','c']),
'two':pd.Series([1,2,3,4],index=['a','b','c','d']),
'three':pd.Series([10,20,30],index=['a','b','c'])
}
df=pd.DataFrame(d)
print(df.T)
print(df)
#axes
print(df.axes)
#dtypes返回Series,每一列的数据类型
print(df.dtypes)
# empty返回布尔值 判断数据是否为空
print(df.empty)
empty_DataFrame=pd.DataFrame()
print(empty_DataFrame.empty)
# columns返回所有列标签
print(df.columns)
# size获取个数
print(df.columns.size)
print(df.index.size)
print(df.size)
# shape返回元组获取行数列数
print(df.shape)
# values取值按numpy的格式取值
print(df.values)
#head()和tail() 取前n或后n行数据
print(df.head(2),'\n',df.tail(1))
#rename()修改标签名
# DataFrame.rename(index=None,columns=None,inplace=False)
# 修改后的行标签和列标签 默认为False原数据不变 为True时原数据变化
df1=df.rename(index={'a':1},columns={'one':'a'},inplace=False)
print(df)
print(df1)
# info()可以显示信息,如列数、行数。。。
# df.info()
print(df.info())
#
# Index: 4 entries, a to d
# Data columns (total 3 columns):
# # Column Non-Null Count Dtype
# --- ------ -------------- -----
# 0 one 3 non-null float64
# 1 two 4 non-null int64
# 2 three 3 non-null float64
# dtypes: float64(2), int64(1)
# memory usage: 300.0+ bytes
# None
# df.sort_index()排序操作
# sort_index(axis=0,ascending=True,inplace=False)
print(df.sort_index())
print(df.sort_index(axis=1))
print('\n''\n')
# print(df)
df.sort_index(ascending=False,inplace=True)
# print(df)
print(df)
print('\n')
# df.sort_values()排序操作2
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', None],
'Age': [25, 28, 22, 30, 27],
'Salary': [5000, 6000, 4000, 7000, 5500]}
df = pd.DataFrame(data)
# 按照Age列进行升序排序,再按Salary进行降序排列
df_sv1=df.sort_values(by=['Age','Salary'],ascending=[False,True])
print(df_sv1)
# na_position有;first和last两个参数意思是将空值放在前面还是末尾
df.sort_values('Name',na_position='first',ignore_index=True,inplace=True)
print(df)