1.4数据载入
http://c.biancheng.net/pandas/series.html
Series
1.
pd. Series([1,2,3,4],index=[‘a’,‘b’,‘c’,‘d’])
pd. Series(np.random.randn(4),index=[‘a’,‘b’,‘c’,‘d’])
Series 可以用字典实例化:
pd. Series({‘b’: 1, ‘a’: 0, ‘c’: 2})
Series创建DataFrame对象
d = {‘one’ : pd.Series([1, 2, 3], index=[‘a’, ‘b’, ‘c’]),
‘two’ : pd.Series([1, 2, 3, 4], index=[‘a’, ‘b’, ‘c’, ‘d’])}
df = pd.DataFrame(d)
one,two变成DataFrame的列
查看DataFrame数据的每列的项
df.columns
输出表头
'cabin’这一列所有项输出
df.Cabin
或者
df[‘Cabin’]
加载文件"test_1.csv",然后对比"train.csv",看看有哪些多出的列,然后将多出的列删除
加载
test_1=pd.read_csv(‘test_1.csv’)
test_1.head()
删除
del test_1[‘a’]
或者
test_1.pop(‘a’)
test_1.head()
或者
test_1=pd.read_csv(‘test_1.csv’)
test_1.drop([‘a’],axis=1)
test_1.head()
这是一个副本
test_1.drop([‘a’],axis=1,inplace=True)
这是一个真的
6.将[‘PassengerId’,‘Name’,‘Age’,‘Ticket’]这几个列元素隐藏,只观察其他几个列元素
test_1=pd.read_csv(‘test_1.csv’)
test_1.drop([‘PassengerId’,‘Name’,‘Age’,‘Ticket’],axis=1)
test_1.head()
这是一个副本
1.5 筛选的逻辑
1.以"Age"为筛选条件,显示年龄在10岁以下的乘客信息
test_1[test_1[‘Age’]<10]
- 以"Age"为条件,将年龄在10岁以上和50岁以下的乘客信息显示出来,并将这个数据命名为midage
midage=test_1[(test_1[‘Age’]>10)&(test_1[‘Age’]<50)]
这是交集&
|这是并集的符号就是or
3.将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来
重新设置索引
midage1=midage.reset_index(drop=True)
midage1.to_csv(‘midage1.csv’)
midage.loc[[100],[‘Pclass’,‘Sex’]]
4.使用loc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来
midage1=midage.reset_index(drop=True)
midage1.to_csv(‘midage1.csv’)
midage.loc[[100,105,108],[‘Pclass’,‘Name’,‘Sex’]]
5.使用iloc方法将midage的数据中第100,105,108行的"Pclass","Name"和"Sex"的数据显示出来
不能用表头进行索引
只用第几列
然后是从0开始数
midage.loc[[100,105,108],[3,4,5]]
1.6探索性数据分析
教材《Python for Data Analysis》第五章
1.利用Pandas对示例数据进行排序,要求升序
sample = pd.DataFrame(np.random.randn(3,3),index=list(‘213’),columns=list(‘bca’))
pd.DataFrame() :创建一个DataFrame对象
np.arange(8).reshape((2, 4)) : 生成一个二维数组(2*4),第一列:0,1,2,3 第二列:4,5,6,7
index=['2, 1] :DataFrame 对象的索引列
columns=[‘d’, ‘a’, ‘b’, ‘c’] :DataFrame 对象的索引行
2.将你构建的DataFrame中的数据根据某一列,升序排列
sort_values
看参数
对象
行列排序
默认升序
sample.sort_values(‘b’)
现在是按b列排序了
3.1.让行索引升序排序
sort_index
sample.sort_index()
4.让列索引升序**排序
sample.sort_index(axis=1)
5.让列索引降序排序
sample.sort_index(axis=1,ascending=False)
6.让任选两列数据同时降序排序
sample.sort_values([‘a’,‘c’],ascending=False)
7.利用Pandas进行算术计算,计算两个DataFrame数据相加结果
只有相同的列可以相加,其他值会没有
8.通过泰坦尼克号数据如何计算出在船上最大的家族有多少人
我们只需找出”兄弟姐妹个数“和”父母子女个数“之和最大的数
df[‘堂兄弟/妹个数’]+df[‘父母与小孩个数’]
索引出来这两列
max(df[‘堂兄弟/妹个数’]+df[‘父母与小孩个数’])
9.学会使用Pandas describe()函数查看数据基本统计信息 df.describe()
描绘直方图
from matplotlib import pyplot as plt
plt.hist(df[‘年龄’])
10.分别看看泰坦尼克号数据集中 票价、父母子女 这列数据的基本统计数据
df[‘票价’].describe()
plt.hist(df[‘票价’])