日报 8 | 数据分析应用2

一、今日计划

做完任务的数据分析(但没有)

二、知识

1、figure( )

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号 ,字符串为名称

figsize:指定figure的宽和高,单位为英寸;

dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张

facecolor:背景颜色

edgecolor:边框颜色

frameon:是否显示边框

原文链接:【Python绘图】figure语法及操作_小猪课堂的博客-CSDN博客_python中figure用法

2、饼图

主要是matplotlib的pie()

plt.pie(x, explode=None, labels=None, colors=None,autopct=None, pctdistance=None, shadow=None,labeldistance=None, startangle=None,radius=None, counterclock=None, wedgeprops=None,textprops=None, center=(0, 0), frame=False)

x:指定绘图的数据;

explode:指定饼图某些部分的突出显示,即呈现爆炸式;

labels:为饼图添加标签说明,类似于图例说明;

colors:指定饼图的填充色;

autopct:自动添加百分比显示,可以采用格式化的方法显示;

pctdistance:设置百分比标签与圆心的距离;

shadow:是否添加饼图的阴影效果;

labeldistance:设置各扇形标签(图例)与圆心的距离;

startangle:设置饼图的初始摆放角度;

radius:设置饼图的半径大小;

counterclock:是否让饼图按逆时针顺序呈现;

wedgeprops:设置饼图内外边界的属性,如边界线的粗细、颜色等;

textprops:设置饼图中文本的属性,如字体大小、颜色等;

center:指定饼图的中心点位置,默认为原点

frame:是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;

#控制x轴和y轴的范围

plt.xlim(0,4)

plt.ylim(0,4)

#将横纵标准化处理,保证是个正圆

plt.axes(aspect='equal')

#删除x轴和y轴的刻度

plt.xticks(())

plt.yticks(())

3、Pandas DataFrame

Pandas DataFrame是一个二维的数组结构

构造:pandas.DataFrame(data,index,columns,dtype,copy)

index是索引值

columns是列标签

4、plt.grid()

显示网格线

5、如何显示excel中文字信息的筛选

data=pd.DataFrame(df2['gender'])

male=data.loc[(data['gender']=='Male')]

print(male)

如果要显示行数:len(male)

6、如何处理缺失值dropna()

#进行数据清理
df2.dropna(axis=0,how='any',inplace=True)

7、#计算年龄

age=[]
for dt in df2['birthyear']:
        age.append(2015-dt)

三、问题

1、name 'df' is not defined

日报 8 | 数据分析应用2_第1张图片

  df没定义,我就重新回到df的地方,运行了该语句

后面出现了name 'pd' is not defined

我又回去运行了pd的语句,然后回去运行df,再运行图片的语句,就成功了

2、坐标轴没有删减掉日报 8 | 数据分析应用2_第2张图片

一些知识补充:

1. 去掉坐标轴的方法:

plt.axis('off')

2.去掉刻度的方法:

plt.xticks([])

plt.yticks([])

 改正后(成功)如下:

日报 8 | 数据分析应用2_第3张图片

当时的问题是在自己一开始使用了dataFrame来表示其中的数值,后面就修改了数值计算的方法

#处理excel中的男女数据
data=pd.DataFrame(df2['gender'])
male=data.loc[(data['gender']=='Male')]
female=data.loc[(data['gender']=='Female')]
male_data=len(male)
female_data=len(female)

3、unsupported operand type(s) for -: 'int' and 'str'

日报 8 | 数据分析应用2_第4张图片

 这个我查了很多都不知道该怎么去做,所以干脆就写成了定义一个age的列表还有for循环形式,就成功了

四、学习心得

进度好慢,我觉得我把不同类型的bug都犯了,而且只能找到别人的实例在模仿,但又不一定满足自己的需求,只能再找

五、明日计划

完成任务啊,ddl来了!

2022.11.12

你可能感兴趣的:(日报,数据分析,python)