Python 使用整型数据类型,根据另一列的值对数据帧进行排序

Python 使用整型数据类型,根据另一列的值对数据帧进行排序,python,sorting,pandas,Python,Sorting,Pandas,我想根据列对数据帧进行排序,但值存储为字符串,但应将其视为整数 df.sort(col1) 其中col1=['0','1','12','13','3'] 如何使用它,使其将这些数字视为整数而不是字符串?您可以在排序之前尝试以下操作: df['col1'] = df['col1'].astype(int) 如果您想保持数据帧不变,只想对其进行排序… 这是假设col1是数据帧df 选项1 df.iloc[df['col1'].astype(int).argsort()] 选项2 您也可以使用p

我想根据列对数据帧进行排序,但值存储为字符串,但应将其视为整数

df.sort(col1)
其中
col1=['0','1','12','13','3']


如何使用它,使其将这些数字视为整数而不是字符串?

您可以在排序之前尝试以下操作:

df['col1'] = df['col1'].astype(int)

如果您想保持数据帧不变,只想对其进行排序…
这是假设
col1
是数据帧
df

选项1

df.iloc[df['col1'].astype(int).argsort()]
选项2
您也可以使用
pd.\u numeric

df.iloc[pd.to_numeric(df['col1']).argsort()]
选项3
为了获得更高的效率,您可以重新构建操作底层numpy数组

v = df.values
a = df['col1'].values.astype(int).argsort()
pd.DataFrame(v[a], df.index[a], df.columns)