动手学数据分析 Day1&2

动手学数据分析 Day1&2

Task01:数据加载及探索性数据分析

数据载入及初步观察

import os
'encoding = utf - 8'
import pandas as pd
import numpy as np

df = pd.read_csv('D:\\Datawhale\\DataAnalysis\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv',
                 engine='python',
                 # names=['乘客ID', '是否幸存', '仓位等级', '姓名', '性别', '年龄', '兄弟姐妹个数', '父母子女个数', '船票信息', '票价', '客舱', '登船港口'],
                 # index_col=0
                 )
df.columns = ['乘客ID', '是否幸存', '仓位等级', '姓名', '性别', '年龄', '兄弟姐妹个数', '父母子女个数', '船票信息', '票价', '客舱', '登船港口']
print(df.head(3))
chunksize = pd.read_csv('D:\\Datawhale\\DataAnalysis\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv',
                 engine='python',
                 chunksize=100)

#chunk类型
# for chunk in chunksize:
#     print(chunk)

#读取数据信息
# print(df.info())
# print("*"*20)
# print(df.head(10))
# print("*"*20)
# print(df.tail(5))
# print("*"*20)

#数据空的地方返回True
# print(df.isnull().head(5))

#存入中文表头
df.to_csv('D:\\Datawhale\\DataAnalysis\\hands-on-data-analysis-master\\第一单元项目集合\\train_ch.csv',index=False)

Series: 一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。
DataFrame: 一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。

//series
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
example_1 = pd.Series(sdata)
print(example_1)
'''
output:
Ohio      35000
Texas     71000
Oregon    16000
Utah       5000
dtype: int64
'''

//dataframe
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
        'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
example_2 = pd.DataFrame(data)
print(example_2)
'''
output:
    state  year  pop
0    Ohio  2000  1.5
1    Ohio  2001  1.7
2    Ohio  2002  3.6
3  Nevada  2001  2.4
4  Nevada  2002  2.9
5  Nevada  2003  3.2
'''
df = pd.read_csv("D:\\Datawhale\\DataAnalysis\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv", engine='python')
print(df.columns)
print(df.Cabin.head())

df1 = pd.read_csv("D:\\Datawhale\\DataAnalysis\\hands-on-data-analysis-master\\第一单元项目集合\\test_1.csv", engine='python', index_col=0)
print(df.head())
print(df1.head())
del df1['a']   #删除多余行
print(df1.head())
print("*" * 30)

#隐藏列
print(df.drop(['PassengerId', 'Name', 'Age', 'Ticket'], axis=1).head())
print(df.head())
print("*" * 30)

#筛选
print(df[df['Age'] < 10].head())
print("*" * 30)
midage = df[(df["Age"] > 10) & (df["Age"] < 50)]
print(midage.head())
print("*" * 30)

midage = df[(df["Age"] > 10) & (df["Age"] < 50)]
print(midage.head())
print("*" * 30)
# https://www.cnblogs.com/keye/p/11229863.html 会把原来的索引当成一列数据保留下来
midage = midage.reset_index(drop=True)
print(midage.head())
print(midage.loc[[100], ['Pclass', 'Sex']])
print(print(midage.loc[[100, 105, 108], ['Pclass', 'Name', 'Sex']]))
print(print(midage.iloc[[100, 105, 108], [2, 3, 4]]))
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值