编写一个 Python 程序,该程序读取一个包含数字的列表,然后输出所有数字的平均值、中位数和众数。 [1,2,3,4,5,6,7,8,9,10,10,10]
时间: 2024-01-12 13:05:23 浏览: 68
以下是 Python 代码实现:
```python
from collections import Counter
# 读取数字列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10]
# 计算平均值
mean = sum(nums) / len(nums)
print("平均值为:", mean)
# 计算中位数
nums.sort()
n = len(nums)
if n % 2 == 0:
median = (nums[n // 2 - 1] + nums[n // 2]) / 2
else:
median = nums[n // 2]
print("中位数为:", median)
# 计算众数
freq = Counter(nums)
mode = [k for k, v in freq.items() if v == max(list(freq.values()))]
print("众数为:", mode)
```
输出结果为:
```
平均值为: 6.5
中位数为: 6.5
众数为: [10]
```
相关问题
如何使用平均值/中位数/众数填充:使用列的平均值、中位数或众数来填充NaN值。
使用平均值/中位数/众数填充NaN值的方法是一种简单而常用的方法。下面我以平均值填充为例,介绍具体步骤:
1. 根据需要填充的列,计算该列的平均值。可以使用Python中的pandas库来计算:
```python
import pandas as pd
# 读取数据集
df = pd.read_csv('data.csv')
# 计算列的平均值
mean_value = df['column_name'].mean()
```
2. 使用fillna()函数将NaN值替换为平均值:
```python
# 将NaN值替换为平均值
df['column_name'].fillna(mean_value, inplace=True)
```
其中,inplace=True表示对原始数据进行修改,而不是返回一个新的数据副本。
使用中位数/众数填充NaN值的方法与平均值填充类似,只需要将mean()替换为median()或mode()即可。需要注意的是,对于类别型数据,应使用众数进行填充。
python对.csv文件的索引列的缺失值使用众数、平均值、中位数进行填充
可以使用pandas库来读取和处理.csv文件。可以使用fillna()方法来填充缺失值,其中可以传入参数来指定填充方式。
例如,使用众数来填充缺失值:
```python
import pandas as pd
# 读取csv文件
df = pd.read_csv('data.csv')
# 使用众数填充缺失值
mode = df['column_name'].mode()[0] # 获取众数
df['column_name'].fillna(mode, inplace=True) # 使用众数填充缺失值
```
使用平均值来填充缺失值:
```python
import pandas as pd
# 读取csv文件
df = pd.read_csv('data.csv')
# 使用平均值填充缺失值
mean = df['column_name'].mean() # 获取平均值
df['column_name'].fillna(mean, inplace=True) # 使用平均值填充缺失值
```
使用中位数来填充缺失值:
```python
import pandas as pd
# 读取csv文件
df = pd.read_csv('data.csv')
# 使用中位数填充缺失值
median = df['column_name'].median() # 获取中位数
df['column_name'].fillna(median, inplace=True) # 使用中位数填充缺失值
```
其中,'column_name'需要替换为需要填充缺失值的列名。
阅读全文