Pandas

Pandas

pandas是python中一种常用的数据分析库,对小型数据分析非常快捷方便

引入pandas库

使用import pandas as pd

简单的数组命令

创建数组

df=pd.Series([1,2,3,4,5,6])

命名index

df=pd.Series([1,2,3,4,5],index=[‘A’,‘B’,‘C’,‘D’,‘E’])
注意index中的元素数量应该和数组里的一样

数组的简单指令

mode ( )求众数
mean ( )求算术平均数
median ( )求中位数
min ( )求最小数
max ( )求最大数
std (ddof=0)求标准差
std (ddof=1)求样本标准差
ddof指的是自由度
sum ( )求和
var (ddof=0)求方差
var (ddof=1)求样本方差
mad ()求平均绝对离差 (描述数据离散程度)
count ()计算数据量

如果数组与数组间对应的数据类型相同,且大小相同,这两个数组可以直接相加

直接描述数组

df.describe()

数组内各数的频率

df.value_counts()

联立几个数组为表格

df_new=pd.concat([S1,S2,S3…],axis=1)
S1,S2…name参数不能为空

选取数据

df[‘目标数据列’]
df.loc[num,‘’]前者是行数,后者是目标数据列的name
df=df[df[‘’]条件] 选取数据列中符合要求的数据

创建新的数据列
如果新的数据列与原有数据列有代数关系
df[new]=df[old]operation
如果没有代数关系,就重新创一个Series再使用concat指令

csv文件相关命令

导入csv文件

df=pd.read_csv(“文件名”,header=,name=[ ],idx_col(“”))

保存csv

df.to_csv(‘文件名’)

读取txt文本

df=pd.read_table(“文件名”,sep=)

注意,读取的文件必须和python运行文件在同一文件包下,否则就要加上具体的地址

数据处理
补充空白数据

df.fillna(0)用0来填充空白数据

取代错误数据

df.replace(“”,0)

使用matplotlib库绘制图像

导入库

import matplotlib.pyplot as plt

选取目标数据列

df1=df[“”]

绘制柱状图

plt.hist(df1)
plt.show ()

绘制精确的柱状图

x=df1.value_counts().index
y=df1.value_counts().value
plt.bar(x,y)

绘制饼状图

plt.pie(y,labels=x,autopct=“1.1f%%”)
plt.show()

Data bin(不知道中文叫啥,就是把连续的变量x分成几个区间)

plt.hist(df1,bins=20)
plt.hist(df1,bins=[0,20,50,100])

绘制折线图

plt.plot(df1)
plt.plot(x,y)
plt.xticks(rotation=30)x轴标识旋转30度
plt.xlabel(“”)x轴名字 y轴同理
plt.legend([“”,“”])折线名
plt.title()

绘制散点图

plt.scatter(x,y)

c++_lecture1

摘要

关键词:c++ 变量类型 简单运算 输入输出方式

介绍

c++是一种可以直接编译成机器语言的高级语言,看起来比python复杂,但是更加的严谨,准确。

[1]//一个c++示例
[2]#include< iostream >
[3]using namespace std
[4]int main()
[5]{
[6] cout << “HELLO! CPP” << endl;
[7]return 0;
[8]}

Tips:
上面是一个简单ccode的示例,在c中标注内容前面需要使用 // 符号(这点与python不同,python中需使用#符号)
c需要自己写main函数框架,2,3行代码是告诉编译器需要使用什么样的语言标准去编译代码,从第4行开始是代码内容的主体,在每行代码的末尾需要加上;符号作为结束,这里main函数的括号里是空的,c里需要返回一个值作为函数的输出,默认返回0

变量类型

从python当中我们知道变量的类型是相当重要的,运算的结果有时会因为变量的类型而发生改变

bool 布尔值 True or False
char 字符串 表示字符,与python中的string一致
double 浮点数 表示小数型数字,精度更高,精确位数更多,但储存空间较大
float 浮点数 表示小数型数字,小数位越多精度越低,但所需储存空间小
int 整数

运算

运算符号与python相比并没有什么不同,唯一需要注意的是计算结果会因为参与运算的数据类型而发生改变,这是因为c++中每一次的运算都需要对参数的变量类型进行规定,而python不用

for instance:
[1]int a = 123;
[2]int b = 134;
[3]int c = a/b; /double c = a/b;
[4]cout << c << endl;

在这段代码当中,区别是第三行c的类型发生了改变,但是结果都是0,这是因为c++是对c进行赋值,而a/b本身就是一个整数类型的数,会向下取到下一位整数(1.22取1,1.66也取1,不是四舍五入),想要获得确切的数字就需要直接对a/b进行限定

double c = (double) a/b

或者是对a或者b进行限定,如果a或b当中有一个复数,那么a/b就是复数

输入输出

c++的输入使用cin指令,输出使用cout指令,这里与python会稍显复杂,举个例子,比如我们想要显示

Enter your name:

我们想要后面直接输入名字

在python中输入指令
str=input(‘Enter your name:’)
在c++中输入指令
char a;
cout << “Enter your name:”<< endl;
cin << a;

常数

我们可以定义一个常数方便运算,如果这个常数需要修改直接改就好了不需要计算的每一步都去修改,比如计算圆周面积的pi,想要精确pi值直接改 double pi 就好了