如何从Pandas的value_counts()中提取值名称和计数?
简介
在处理数据时,我们常常需要获取某一列的计数及其数值,这时候就可以使用Pandas中的value_counts()函数。该函数不仅返回计数,同时也会返回每个不同的值的数量。本文将会介绍如何从Pandas的value_counts()中提取名称和计数。
示例代码
在下面的代码样例中,我们将通过一个名为“df”的数据框(dataframe)来演示如何使用value_counts()函数,并提取出其中的名称和计数。
import pandas as pd
df = pd.DataFrame({
'fruit': ['apple', 'banana', 'orange', 'banana', 'apple', 'orange', 'banana', 'pear'],
'price': [1.2, 2.2, 1.5, 2.4, 1.8, 1.4, 2.1, 1.9],
'quantity': [3, 2, 5, 1, 4, 3, 2, 4]
})
fruit_count = df['fruit'].value_counts()
#提取名称和计数
fruit_names = fruit_count.index.tolist()
fruit_values = fruit_count.values.tolist()
print(fruit_names)
print(fruit_values)
解释
首先我们使用Pandas的DataFrame()函数创建了一个名为“df”的数据框,其中包含三个列:水果名称、价格和数量。接着,我们调用了“df”数据框中的“fruit”列的value_counts()函数,并将其结果存储在一个名为“fruit_count”的变量中。
使用value_counts()函数后,我们会得到一个Series对象,其中包含了各个不同值的计数。
为了提取出数据框中各个水果的名称和计数,我们需要调用Series对象的index和values属性,并将它们分别转换为列表。最后,我们将提取出来的名称和计数分别存储在名为“fruit_names”和“fruit_values”的两个变量中,并将它们打印出来。
在上面的代码样例中,我们最后打印出来的结果应该是:
['banana', 'orange', 'apple', 'pear']
[3, 2, 2, 1]
结论
使用Pandas的value_counts()函数可以很方便地获取某列中各个值的计数,同时也能获取到这些值的名称。如果需要获取这些值的名称和计数,只需要分别使用Series对象的index和values属性,并将它们转换为列表即可。