Python 熊猫数据帧-按年份的部分数字计数排序
我有一个有26列的熊猫数据框。我需要根据特定顺序的列的唯一值创建条形图。我已设法提取数组中列的唯一值。现在我想把它按特定的顺序分类。有办法吗? 注意: 基于此列,我不希望干扰数据帧的索引 我的代码Python 熊猫数据帧-按年份的部分数字计数排序,python,pandas,dataframe,bar-chart,Python,Pandas,Dataframe,Bar Chart,我有一个有26列的熊猫数据框。我需要根据特定顺序的列的唯一值创建条形图。我已设法提取数组中列的唯一值。现在我想把它按特定的顺序分类。有办法吗? 注意: 基于此列,我不希望干扰数据帧的索引 我的代码 e= df['emp_length'].dropna().unique() e = np.sort(e) sns.countplot(x='emp_length',order=e,data=df) 阵列e的顺序如下所示 array(['1 year', '10+ years',
e= df['emp_length'].dropna().unique()
e = np.sort(e)
sns.countplot(x='emp_length',order=e,data=df)
阵列e的顺序如下所示
array(['1 year', '10+ years', '2 years', '3 years', '4 years', '5 years',
'6 years', '7 years', '8 years', '9 years', '< 1 year'],
dtype=object)
数组(['1年'、'10年以上'、'2年'、'3年'、'4年'、'5年',
“6年”、“7年”、“8年”、“9年”、“小于1年”],
数据类型=对象)
但是,我希望数组的顺序如下所示
array(['< 1 year','1 year', '2 years', '3 years', '4 years', '5 years',
'6 years', '7 years', '8 years', '9 years', '10+ years'],
dtype=object)
数组([“<1年”、“1年”、“2年”、“3年”、“4年”、“5年”,
“6年”、“7年”、“8年”、“9年”、“10年以上”],
数据类型=对象)
关闭需要使用的是natsorted
,然后是必要的变更单-将最后一个值添加到第一个:
a = np.array(['1 year', '10+ years', '2 years', '3 years', '4 years', '5 years',
'6 years', '7 years', '8 years', '9 years', '< 1 year'])
from natsort import natsorted
b = natsorted(a)
print (b[-1:] + b[:-1])
['< 1 year', '1 year', '2 years', '3 years',
'4 years', '5 years', '6 years', '7 years',
'8 years', '9 years', '10+ years']
a=np.array(['1年'、'10年以上'、'2年'、'3年'、'4年'、'5年',
“6年”、“7年”、“8年”、“9年”、“小于1年])
从natsort导入natsorted
b=a(a)
打印(b[-1:]+b[:-1])
[“<1年”、“1年”、“2年”、“3年”,
‘4年’、‘5年’、‘6年’、‘7年’,
“8年”、“9年”、“10年以上”]
关闭需要使用的是natsorted
,然后是必要的变更单-将最后一个值添加到第一个:
a = np.array(['1 year', '10+ years', '2 years', '3 years', '4 years', '5 years',
'6 years', '7 years', '8 years', '9 years', '< 1 year'])
from natsort import natsorted
b = natsorted(a)
print (b[-1:] + b[:-1])
['< 1 year', '1 year', '2 years', '3 years',
'4 years', '5 years', '6 years', '7 years',
'8 years', '9 years', '10+ years']
a=np.array(['1年'、'10年以上'、'2年'、'3年'、'4年'、'5年',
“6年”、“7年”、“8年”、“9年”、“小于1年])
从natsort导入natsorted
b=a(a)
打印(b[-1:]+b[:-1])
[“<1年”、“1年”、“2年”、“3年”,
‘4年’、‘5年’、‘6年’、‘7年’,
“8年”、“9年”、“10年以上”]