python用pandas读取csv文件,利用评分一列,根据年份月份来画散点图
时间: 2023-07-12 22:07:54 浏览: 124
可以用以下代码来实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('filename.csv')
# 将日期列转换为datetime类型
df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d')
# 提取年份和月份
df['年份'] = df['日期'].dt.year
df['月份'] = df['日期'].dt.month
# 绘制散点图
plt.scatter(df['年份'], df['评分'], c=df['月份'], cmap='cool')
plt.colorbar()
# 设置图形标题和坐标轴标签
plt.title('评分随时间的变化')
plt.xlabel('年份')
plt.ylabel('评分')
plt.show()
```
其中,`filename.csv`是你要读取的文件名,`日期`是你的数据集中包含日期的列名,`评分`是评分列的列名。你可以根据自己的数据集进行相应的修改。`cmap`参数可以设置颜色映射,这里使用了`cool`颜色映射。
相关问题
python用pandas读取csv文件,将评论时间内同一年评论选择出来,再根据月份 ,将其评分选择出来,画散点图
可以按照以下步骤来实现:
1. 使用 pandas 库读取 csv 文件,将其转化为 DataFrame 格式。假设文件名为 data.csv,可以使用以下代码读取:
```python
import pandas as pd
df = pd.read_csv('data.csv')
```
2. 将评论时间转化为 datetime 类型,并提取出年份和月份。这可以使用 pandas 的 to_datetime() 函数和 dt 属性来实现:
```python
df['comment_time'] = pd.to_datetime(df['comment_time'])
df['year'] = df['comment_time'].dt.year
df['month'] = df['comment_time'].dt.month
```
3. 根据年份筛选出同一年的评论:
```python
year_filter = df['year'] == 2022 # 选择 2022 年的评论
df_year = df[year_filter]
```
4. 根据月份和评分选择数据,并绘制散点图。这可以使用 matplotlib 库来实现:
```python
import matplotlib.pyplot as plt
month_filter = df_year['month'] == 1 # 选择 1 月的评论
score = df_year.loc[month_filter, 'score'] # 选择评分列
plt.scatter(range(len(score)), score) # 绘制散点图
plt.show()
```
可以根据需要修改月份和评分的数值,以及绘制散点图的样式。
python用pandas读取csv文件,在评论时间这一列中,将同一年的评论选择出来,再将其每个月的评分在一张图上画散点
可以按照以下步骤实现:
1. 导入 pandas 和 matplotlib 库:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
2. 使用 pandas 读取 csv 文件:
```python
df = pd.read_csv('your_file.csv')
```
3. 将评论时间列转换为 datetime 类型,并将其设置为索引:
```python
df['评论时间'] = pd.to_datetime(df['评论时间'])
df.set_index('评论时间', inplace=True)
```
4. 选择同一年的评论:
```python
df_year = df.loc['2021']
```
5. 按月份统计评分均值:
```python
df_monthly = df_year.groupby(df_year.index.month)['评分'].mean()
```
6. 将评分均值画成散点图:
```python
plt.scatter(df_monthly.index, df_monthly.values)
plt.xlabel('Month')
plt.ylabel('Average Rating')
plt.show()
```
完整代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('your_file.csv')
df['评论时间'] = pd.to_datetime(df['评论时间'])
df.set_index('评论时间', inplace=True)
df_year = df.loc['2021']
df_monthly = df_year.groupby(df_year.index.month)['评分'].mean()
plt.scatter(df_monthly.index, df_monthly.values)
plt.xlabel('Month')
plt.ylabel('Average Rating')
plt.show()
```
阅读全文