数据分析的Python基础

2017年8月31日 - 花瓣数据

一、变量和数据类型

变量赋值:

In [1]:
x = 5
x
Out[1]:
5

变量的计算:

In [2]:
# 两个变量之和
x + 2
Out[2]:
7
In [3]:
# 变量相减
x -2
Out[3]:
3
In [4]:
# 变量相乘
x * 2
Out[4]:
10
In [5]:
# 变量的乘方
x ** 2
Out[5]:
25
In [6]:
# 变量取余
x%2
Out[6]:
1
In [7]:
# 变量相除
x/2
Out[7]:
2.5

类型和类型转换:

In [8]:
# 字符串类型
str("123456")
Out[8]:
'123456'
In [9]:
# 整数型
int('123456')
Out[9]:
123456
In [10]:
# 浮点型
float(123456)
Out[10]:
123456.0
In [11]:
# 布尔型
bool(1)
Out[11]:
True

二、寻求帮助

In [51]:
help(str())

三、字符串

In [13]:
strs = "这是一个字符串"
strs
Out[13]:
'这是一个字符串'

字符串操作:

In [14]:
# 相乘
strs * 2
Out[14]:
'这是一个字符串这是一个字符串'
In [15]:
# 拼接
strs + '哈哈哈'
Out[15]:
'这是一个字符串哈哈哈'
In [16]:
# 判断元素
'是' in strs
Out[16]:
True
In [17]:
# 字符串索引
strs[3]
Out[17]:
'个'
In [18]:
strs[4:-1]
Out[18]:
'字符'

字符串方法:

In [19]:
# 转换为大写
'sdadSAASD'.upper()
Out[19]:
'SDADSAASD'
In [20]:
# 转换为小写
'sdadSAASD'.lower()
Out[20]:
'sdadsaasd'
In [21]:
# 字符串计数
strs.count('字')
Out[21]:
1
In [22]:
# 字符串替换
strs.replace('这','那')
Out[22]:
'那是一个字符串'
In [23]:
# 字符串分割
strs.split()
Out[23]:
['这是一个字符串']

四、列表

In [24]:
list1 = ['哈哈','呵呵','嚯嚯',123]
list2 = [[4,5,6],[1,3,4,6]]

选择列表元素

In [25]:
# 索引
list1[1]
Out[25]:
'呵呵'
In [26]:
# 切片
list1[1:3]
Out[26]:
['呵呵', '嚯嚯']
In [27]:
# 子列表选择
list2[0][:2]
Out[27]:
[4, 5]

列表操作

In [28]:
# 列表相加
list1 + list1
Out[28]:
['哈哈', '呵呵', '嚯嚯', 123, '哈哈', '呵呵', '嚯嚯', 123]
In [29]:
# 列表相乘
list1 * 2
Out[29]:
['哈哈', '呵呵', '嚯嚯', 123, '哈哈', '呵呵', '嚯嚯', 123]

列表方法

In [30]:
# 通过值获取索引
list1.index('哈哈')
Out[30]:
0
In [31]:
# 列表元素计数
list1.count('哈哈')
Out[31]:
1
In [32]:
# 添加一个元素
list1.append('新增')
In [33]:
# 删除一个元素
list1.remove('新增')
In [34]:
# 删除一个元素
del list1[1]
In [35]:
# 反转列表
list1.reverse()
In [36]:
# 添加一个元素
list1.extend('新增')
In [37]:
# 通过索引删除一个元素
list1.pop(-1)
Out[37]:
'增'
In [38]:
# 在指定索引插入一个元素
list1.insert(0,'看看')
In [39]:
# 列表排序
list1.sort()

五、库

导入库

In [40]:
import numpy 
import numpy as np

选择导入

In [41]:
from math import pi

六、NumPy数组

In [43]:
my_list = [1,2,3,4]
my_array = np.array(my_list)
my_2darray = np.array([[1,2,3],[4,5,6]])

选择NumPy数组元素

In [44]:
# 子集
my_array[1]
Out[44]:
2
In [45]:
# 切片
my_array[:2]
Out[45]:
array([1, 2])
In [46]:
# 二维数组子集
my_2darray[:,0]
Out[46]:
array([1, 4])

NumPy数组运算

In [48]:
my_array > 3
Out[48]:
array([False, False, False,  True], dtype=bool)
In [49]:
my_array * 2
Out[49]:
array([2, 4, 6, 8])
In [50]:
my_array + np.array([5, 6, 7, 8])
Out[50]:
array([ 6,  8, 10, 12])

NumPy数组函数

In [52]:
# 获取数组维度和形状
my_array.shape

# 添加一个数组
np.append()

# 在数组中插入一个项
np.insert()

# 在数组中删除一个项
np.delete

# 数组的均值
np.mean()

# 数组的中值
np.median()

# 数组相关系数
my_array.corrcoef()

# 数组的标准差
np.std(my_array)