【数据分析11天打卡DAY1】第一章 数据载入及初步观察1.4-1.6

本文详细介绍了Pandas库在数据载入、筛选逻辑及探索性数据分析方面的应用。通过实例展示了如何创建和操作Series及DataFrame,包括从CSV文件加载数据、删除多余列、筛选特定条件的数据行、排序数据以及进行算术计算。此外,还探讨了如何利用Pandas进行数据统计分析,如计算最大家庭人数、查看数据统计信息并绘制直方图。
摘要由CSDN通过智能技术生成


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]

  1. 以"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[‘票价’])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值