pandas提取某一列的值_pandas绘制统计图技巧总结

写这篇文章的初衷是,让很多学pandas制作统计图表的小伙伴们少走一点弯路。百度上有不少讲诉pandas的教程或者博文,但大都太片面,或者模棱两可,内容不全。小编在这里跟大家详细理一理pandas绘制图表相关的一些小技巧。

所有绘制pandas表的python脚本,都有一个固定的编码范式,见下文。

# coding=utf8
# !/usr/bin/env python3

import os
import sys

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + "/..")

这段代码放到脚本开头,就可以处理掉中文乱码,中文编码的问题。看不懂的小伙伴自行百度即可,这里小编不做过多的描述。

一般我们日常的图表都会有横轴,纵轴。这里我先以折线图为例:

145ff89d1d2b8eb595bbb0b781c2c94e.png

数据样例

0751d0e57031518aeb1d0a47cc3e65b4.png

折线图

先上一段源码,用pandas来绘制上面的折线图

# coding=utf8
# !/usr/bin/env python3
# author = 小维python工作室
import os
import sys
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + "/..")
# 加载excel文件
df = pd.read_excel("./example.xlsx")
# 将日期这一列转换成字符串类型
df['日期'] = df['日期'].map(lambda x: str(int(x)))
# 设置日期一列为索引
ax = df.set_index('日期')
# 提取最后一行数据
current_record = df.tail(1)
# 修改dataFrame对象columns
columns = []
for goods in ax.columns:
count = current_record[goods].values[0]
columns.append("%s: %s" % (goods, count))
ax.columns = columns
# 画折线图,figsize为图片宽高像素值,linewidth可以加粗折线
ax.plot.line(figsize=(80, 30), linewidth=10)
# 设置x轴需要展示的日期数据,rotation为逆时针旋转角度, fontsize设置x轴字体大小
plt.xticks(df.index, df["日期"], rotation=90, fontsize=40)
# 设置x轴,y轴的名称
plt.xlabel("日期", fontsize=30)
plt.ylabel("销量(单位:吨)", fontsize=30)
# 隐藏y轴的值,并设置字体大小
plt.yticks(fontsize=80)
# 设置x轴的长度,和到坐标原点的间隔
plt.xlim(2, 8 + len(df['日期']))
# 设置画布字体大小
plt.legend(fontsize=80)
# 设置图表标题
plt.title("水果销量统计折线图", fontsize=100)
# 保存成png图片
plt.savefig("example.png")

小编加了详细的代码注释来标注每行代码的作用。再汇总一下用到的小技巧吧!

1,set_index函数可以指定dataframe对象某一列值为索引,索引列不参与统计

2,折线图右上角的分类线段描述可以通过修改columns属性实现

3,xticks,yticks可以重新自定义,不设置的画系统会默认处理,不会展示全部的值

4,xlim,ylim可以控制x,y轴有效的绘制区间。不设置的画右上角的标注会左右乱飘不固定

觉得小编的总结有帮助的,记得点波关注哦!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用 Pandas 的 `dt` 属性向量化地操作时间序数据,从而提取数据的星期信息。具体实现如下: ```python import pandas as pd # 读取数据 df = pd.read_csv('filename.csv') # 将某一数据转换为日期格式 df['date_column'] = pd.to_datetime(df['date_column']) # 提取星期信息,星期一对应0,星期日对应6 df['weekday_column'] = df['date_column'].dt.weekday ``` 其中,`date_column` 是您要提取星期信息的名,`weekday_column` 是存储星期信息的新名。读取完成后,您可以使用 `df.head()` 查看前几行数据,以确保日期转换和星期提取操作已正确执行。 ### 回答2: 要提取pandas数据框中某一的星期,我们可以使用pandas中的datetime模块。首先,我们需要确保该的数据类型是日期时间类型。然后,我们可以利用datetime模块中的weekday()函数来获取该日期对应的星期。 假设我们有一个名为df的数据框,其中有一名为"date",包含日期数据。我们可以按照以下步骤提取的星期信息: 首先,我们需要将"date"转换为日期时间类型,如果该的数据类型不是日期时间类型,我们可以使用pandas的to_datetime()函数进行转换: df['date'] = pd.to_datetime(df['date']) 这将把df['date']的数据类型转换为日期时间类型。 接下来,我们可以使用datetime模块中的weekday函数来获取星期信息。weekday函数返回的为0到6,分别对应星期一到星期日: df['weekday'] = df['date'].dt.weekday 这将在df数据框中新增一名为"weekday",其中包含了对应日期的星期信息。 最后,我们可以打印出df数据框的内容,以查看提取的结果: print(df) 这样,我们就成功地提取了df数据框中"date"的星期信息,并将结果保存在了"weekday"中。 ### 回答3: 使用pandas提取中的星期需要借助于datetime模块中的功能。可以按照以下步骤进行操作: 首先,将待提取星期的转换为datetime类型。可以使用pandas的to_datetime()方法将转换为datetime类型的数据。 例如,假设有一个名为df的DataFrame,其中包含一个名为'date'的,表示日期。可以使用以下代码将该转换为datetime类型: ``` df['date'] = pd.to_datetime(df['date']) ``` 接下来,可以利用dt属性中的功能提取星期。通过使用'dayofweek'属性,可以从日期中提取出星期,其中0表示星期一,1表示星期二,依此类推。 例如,假设要提取的星期存储在名为'week'的中,可以使用以下代码提取星期: ``` df['week'] = df['date'].dt.dayofweek ``` 这将在DataFrame中创建一个新的'week',并将每个日期对应的星期进行填充。 最后,可以根据需要对提取的星期进行进一步的处理和分析,例如统计每个星期出现的次数、绘制柱状等。 总结起来,使用pandas提取中的星期需要将该转换为datetime类型,然后利用dt属性中的'dayofweek'功能提取星期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值