统计dataframe中一列中值的数量
时间: 2023-09-10 21:16:03 浏览: 73
你可以使用 pandas 库中的 value_counts() 方法来统计 DataFrame 中某一列的值的数量。下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'A': ['apple', 'banana', 'apple', 'banana', 'apple', 'orange']}
df = pd.DataFrame(data)
# 统计 'A' 列中每个值的数量
value_counts = df['A'].value_counts()
print(value_counts)
```
输出结果将会是:
```
apple 3
banana 2
orange 1
Name: A, dtype: int64
```
这里,'A' 列中的每个值及其对应的数量被统计出来了。
相关问题
筛选DataFrame第1列中值大于90的行的所有数据
可以使用 Pandas 中的条件筛选功能,代码如下:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [95, 80, 70, 100],
'B': [60, 70, 80, 90],
'C': [80, 90, 85, 95]})
# 筛选第 1 列中值大于 90 的行
result = df[df['A'] > 90]
# 输出结果
print(result)
```
输出结果为:
```
A B C
0 95 60 80
3 100 90 95
```
DataFrame中将A列中值为1和2的不同的字符索引作为字典输出
可以使用 pandas 中的 groupby() 函数和 apply() 函数来实现。具体代码如下所示:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 1, 2], 'B': ['a', 'b', 'c', 'd', 'e']})
# 将 A 列中值为 1 和 2 的不同字符索引作为字典输出
result = df[df['A'].isin([1, 2])].groupby('A')['B'].apply(list).to_dict()
print(result) # 输出结果:{1: ['a', 'd'], 2: ['b', 'e']}
```
以上代码中,首先我们创建了一个示例 DataFrame,然后使用 df['A'].isin([1, 2]) 来选择 A 列中值为 1 和 2 的行,再使用 groupby() 函数将选出来的行按照 A 列的值进行分组,并对每个分组中的 B 列进行 apply() 操作,将每个分组中的所有 B 列的值放入一个 list 中,最后将结果转换为字典格式输出。