python 删除一行值都为0的行 选取表格的几个特定行使用matplotlib 绘制饼图及直方图
时间: 2024-01-24 15:02:35 浏览: 70
删除一行值都为0的行:
假设有一个二维列表data,其中行数为n,列数为m。可以通过以下代码删除所有值都为0的行:
```
data = [[1,0,3],[0,0,0],[4,0,6]]
data = [row for row in data if sum(row)!=0]
print(data)
```
这段代码先遍历每一行,计算每一行的和sum(row),如果sum(row)不等于0,则选择该行保留。最终输出删除所有值都为0的行后的data。
选取表格的几个特定行使用matplotlib 绘制饼图及直方图:
假设有一个数据表格data,其中有3列:城市、销售额、利润。现在要选取其中的几个城市,绘制饼图和直方图。
首先,需要用pandas库读取数据表格,并选取需要的城市:
```
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
selected_cities = ['北京', '上海', '广州', '深圳']
data_selected = data[data['城市'].isin(selected_cities)]
```
这段代码选取了城市为北京、上海、广州、深圳的行,并保存到data_selected中。
接下来,可以用matplotlib库绘制饼图和直方图:
```
# 绘制饼图
sales = data_selected['销售额'].sum()
profits = data_selected['利润'].sum()
labels = ['销售额', '利润']
sizes = [sales, profits]
colors = ['yellowgreen', 'gold']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%')
plt.axis('equal')
plt.title('北京、上海、广州、深圳的销售额和利润')
# 绘制直方图
plt.figure()
plt.hist(data_selected['销售额'], bins=10, alpha=0.5, label='销售额')
plt.hist(data_selected['利润'], bins=10, alpha=0.5, label='利润')
plt.legend(loc='upper right')
plt.title('北京、上海、广州、深圳的销售额和利润')
plt.show()
```
这段代码首先计算了选取城市的销售额和利润,然后用pie函数绘制饼图,用hist函数绘制直方图。最后用show函数显示图形。
阅读全文