如何将Pandas value_counts结果中的第一列标签值存入新数组?
提取Value Counts结果中的标签到新数组
其实这个需求实现起来很简单,value_counts()返回的是一个Series对象,它的索引就是你要的那些标签值,直接提取索引再转成数组就搞定啦。
方法一:直接提取索引转数组
你可以直接用下面的代码实现:
import pandas as pd # 假设你的dataset是已加载的DataFrame unique_values = dataset["Label"].value_counts() # 提取索引并转换为NumPy数组 label_array = unique_values.index.to_numpy() print(label_array)
执行后会得到你想要的数组:
array(['BENIGN', 'PortScan', 'FTP-Patator', 'SSH-Patator', 'Infiltration'], dtype=object)
方法二:先转列表再转数组(可选)
如果你更习惯先得到列表格式,也可以先转列表再转成数组:
import pandas as pd import numpy as np unique_values = dataset["Label"].value_counts() # 先把索引转成列表 label_list = unique_values.index.tolist() # 再转成数组 label_array = np.array(label_list)
小说明
为什么这样可行?因为value_counts()返回的Series里,index属性刚好对应你打印结果里的第一列标签,而且顺序和计数结果的排序一致(从计数最多到最少)。直接调用to_numpy()就能把这些标签转换成标准的NumPy数组,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Gerbert
相关产品推荐
相关产品推荐

