第一章:数据载入及初步观察
1.载入数据
(1)导入numpy和pandas:
import numpy as np
(2)载入数据:
pd.read_csv("train.csv") pd.read_table("train.csv")
(3)逐块读取:
chunksize = 数字
(4)修改表头:
pd.read_csv("train.csv", names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID', header=0)
index_col设定索引,header=0删除第一行
2.初步观察
(5)查看数据的基本信息:
df.info(): # 打印摘要
df.describe(): # 描述性统计信息
df.values: # 数据
df.to_numpy() # 数据 (推荐)
df.shape: # 形状 (行数, 列数)
df.columns: # 列标签
df.columns.values: # 列标签
df.index: # 行标签
df.index.values: # 行标签
df.head(n): # 前n行
df.tail(n): # 尾n行
pd.options.display.max_columns=n: # 最多显示n列
pd.options.display.max_rows=n: # 最多显示n行
df.memory_usage(): # 占用内存(字节B)
(6)获取数据:
获取前x行数据df.head(x)
获取后x行数据df.tail(x)
(7)判断数据是否为空,为空的地方返回true,否则返回false:
df.isnull()
3.保存数据
(8)保存数据:
train_data.to_csv("新数据名字.csv")
第二章:pandas基础
1.知道你的数据叫什么
(1)pandas中有两个数据类型DateFrame和Series
(2)查看DataFrame数据的每列的名称:
train_data.columns
(3)查看"a"这列的所有值:
train_data['a'].unique()
(4)删除多余的列:
del test_data['a']
(5)隐藏列:
test_data_drop.drop(['PassengerId','Name','Age','Ticket'],axis=1).head(3)
如果想要完全的删除你的数据结构,使用inplace=True
2.筛选的逻辑
(6)以"Age"为筛选条件:
train_data[train_data['年龄']<10].head(10)
midage = train_data[(train_data["年龄"] > 10) & (train_data["年龄"]< 50)]
(7)使用loc方法:
midage.loc[[100,105,108],["仓位等级","性别"]]
(8)使用iloc方法:
midage.iloc[[100,105,108],[2,3,4]]
iloc传入的列的索引为真正的索引,而loc传入的为列的名称
第三章:探索性数据分析
1.不同的排序方式
(1)让行索引升序排序:
obj1 = pd.DataFrame({"a":[800,400,200],"c":[900,700,400],"b":[700,500,100]},index = ['A','C','B'])
obj1.sort_index(axis = 0)
(2)让列索引升序排序:
obj1.sort_index(axis = 0, ascending=False)
(3)让列索引降序排序:
obj1.sort_index(axis = 0, ascending=False)
(4)让任选两列数据同时降序排序:
obj1.sort_values(by=['a','b'],ascending=False)
2.算术计算
(5)利用Pandas进行算术计算,计算两个DataFrame数据相加结果:
frame_a = pd.DataFrame(np.arange(9.).reshape(3, 3),
columns=['a', 'b', 'c'],
index=['one', 'two', 'three'])
frame_b = pd.DataFrame(np.arange(12.).reshape(4, 3),
columns=['a', 'e', 'c'],
index=['first', 'one', 'two', 'second'])
frame_a + frame_b
(6)计算最大值:
(train_data['兄弟姐妹个数'] + train_data['父母子女个数']).max()
max(train_data['兄弟姐妹个数'] + train_data['父母子女个数'])
3.学会使用Pandas describe()函数查看数据基本统计信息
(7)查看数据基本统计信息:
frame2 = pd.DataFrame([[1.4, np.nan],
[7.1, -4.5],
[np.nan, np.nan],
[0.75, -1.3]
], index=['a', 'b', 'c', 'd'], columns=['one', 'two'])
frame2.describe()