有两列特征,第一列特征为公司名字,第二列特征为城市,我想统计不同城市的公司总数,并画图展示,用python实现
时间: 2024-05-09 15:18:07 浏览: 12
这个问题可以回答。你可以使用Python中的pandas库和matplotlib库来实现。首先,你可以将两列特征存储在一个pandas数据框中,然后使用.value_counts()函数来计算每个城市中公司的数量,并使用matplotlib库来创建一个水平条形图来呈现这个数据。下面是一个示例代码:
```
import pandas as pd
import matplotlib.pyplot as plt
# 创建数据框
data = {'公司名字': ['A公司', 'B公司', 'C公司', 'D公司', 'E公司', 'F公司'],
'城市': ['北京', '上海', '北京', '深圳', '广州', '上海']}
df = pd.DataFrame(data)
# 计算每个城市的公司数量
count_df = df['城市'].value_counts()
# 创建水平条形图
plt.barh(count_df.index, count_df.values)
plt.title('城市公司数量统计')
plt.xlabel('公司数量')
plt.ylabel('城市')
plt.show()
```
这个代码会输出一个水平条形图,用来展示不同城市的公司总数统计。请注意,这个代码只是一个示例,你需要根据你的具体数据进行调整。
相关问题
有两列特征,第一列特征为职业,第二列特征为城市,我想统计不同城市的职业数,并画图展示,用python实现
好的,这是一个关于数据分析的问题,可以使用Python中的pandas和matplotlib库来实现。首先,将数据导入为一个pandas DataFrame,然后使用groupby函数对城市进行分组,对职业进行计数,最后使用matplotlib库绘制柱状图即可。下面是实现代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 导入数据,假设数据文件为data.csv,有两列特征:职业和城市
data = pd.read_csv('data.csv')
# 使用groupby函数对城市进行分组,对职业进行计数
grouped = data.groupby('城市')['职业'].value_counts()
# 绘制柱状图
fig, ax = plt.subplots(figsize=(10, 6))
grouped.unstack().plot(kind='bar', ax=ax)
# 设置图表标题、X轴标签、Y轴标签等
ax.set_title('不同城市的职业数')
ax.set_xlabel('城市')
ax.set_ylabel('职业数')
# 显示图表
plt.show()
```
注意,这里的代码示例只是一个简单的数据分析示例,实际的数据分析过程可能要更加复杂。同时,如果您需要更多的帮助,建议您在CSDN中搜索相关的教程或者在CSDN的技术问答社区中提问,会得到更全面的解答。
python读取csv文件前两列作为特征,第三列作为标签,并画图。在图上空白处显示颜色对应类别
好的,我可以帮你解决这个问题。首先,你需要安装以下包:pandas, matplotlib。
然后,你可以使用以下代码来读取csv文件并绘制散点图:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('your_file.csv')
# 获取前两列作为特征,第三列作为标签
X = df.iloc[:, :2].values
y = df.iloc[:, 2].values
# 绘制散点图
plt.scatter(X[:, 0], X[:, 1], c=y)
# 显示颜色对应类别
plt.colorbar()
# 显示图形
plt.show()
```
这段代码会读取名为“your_file.csv”的csv文件,获取前两列作为特征,第三列作为标签,并绘制散点图。在图的右侧会显示颜色对应的类别。