Python数据处理笔记

Python有多容易忘记, 如果不整理, 过一段时间就完全重新学了. 所以借着这一些练习, 把自己学过的东西记录并总结, 才方便日后回顾.

import pandas as pd
另外可以导入Series和DataFrame,因为这两个经常被用到:

from pandas import Series, DataFrame

DataFrame

生成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]}
df = pd.DataFrame(data)

一种比较漂亮的生成方式, 里面用的state, year, pop 都成为了columns:

>>> frame.columns
Index(['pop', 'state', 'year'], dtype='object')

    pop   state  year
0  1.5    Ohio  2000
1  1.7    Ohio  2001
2  3.6    Ohio  2002
3  2.4  Nevada  2001
4  2.9  Nevada  2002
5  3.2  Nevada  2003

但是这种方式通常只能适合于比较小的Dict, 如果有定制好的数据集, 那么就要通过dict() 生成各种各样的dictionary对象. 对dict的操作在这里按下不表

获取DataFrame的信息

可以把DataFrame当成一个Excel表格来看待

df2.index看对列序号:

df.columns每一列的名字

隐藏index columns , 只看df2values:

print(df2.values)

"""
array([[1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],
       [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo']], dtype=object)
"""

describe():数据总结, 返回数据的mean, std, count

df2.describe()

"""
         A    C    D
count  4.0  4.0  4.0
mean   1.0  1.0  3.0
std    0.0  0.0  0.0
min    1.0  1.0  3.0
25%    1.0  1.0  3.0
50%    1.0  1.0  3.0
75%    1.0  1.0  3.0
max    1.0  1.0  3.0
"""

df.T:翻转数据的行列,比较常用的地方如果要对行进行索引

sort_index 进行排序并输出:

print(df2.sort_index(axis=1, ascending=False))

数据中的类型用 dtype这个属性:

print(df2.dtypes)

索引的方式

逗号分开行与列, 如果要分别选取多个行和多个列, 使用['col1','col2'] 分别列出需要的行列

1. ['col'] 字典的访问方式和对象访问方式

data['Colorado']字典的访问方式 [] 内为要访问的Key

data.Colorado 对象访问方式

注意: 这两种方式都不可以使用数字访问

2. iloc根据行列的位置

data.loc['Colorado', ['two', 'three']]
data.loc[:,['two']] #选出two所在的列

3. iloc 根据行列的名称

iloc实现相同的效果:

data.iloc[2, [3, 0, 1]]

4. ix 混合两种方式

Index 和 Column的选取/重命名

第一个参数为内容,

    groupedDF = pd.DataFrame(grouped, columns=['User Id', 'Rating'] , index= [for i in range (len(grouped))])

df.groupby()

根据'Pclass' 求平均

data.groupby('User Id')['Rating'].mean()
data.groupby('User Id').mean()['Rating']
全部评论

相关推荐

27届学院本誓死冲击...:自我评价和校园经历全删了,荣誉经历只留奖学金,项目也全得换都不如外卖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
7177次浏览 66人参与
# 你的实习产出是真实的还是包装的? #
1396次浏览 34人参与
# 巨人网络春招 #
11236次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7186次浏览 38人参与
# 简历第一个项目做什么 #
31388次浏览 317人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186612次浏览 1116人参与
# MiniMax求职进展汇总 #
23325次浏览 304人参与
# 研究所笔面经互助 #
118806次浏览 577人参与
# 面试紧张时你会有什么表现? #
30431次浏览 188人参与
# 简历中的项目经历要怎么写? #
309712次浏览 4171人参与
# AI时代,哪些岗位最容易被淘汰 #
62931次浏览 760人参与
# 职能管理面试记录 #
10749次浏览 59人参与
# 网易游戏笔试 #
6391次浏览 83人参与
# 腾讯音乐求职进展汇总 #
160477次浏览 1107人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
7054次浏览 155人参与
# 正在春招的你,也参与了去年秋招吗? #
362899次浏览 2633人参与
# 你怎么看待AI面试 #
179553次浏览 1193人参与
# 小红书求职进展汇总 #
226958次浏览 1357人参与
# 你觉得通信/硬件有必要实习吗? #
155407次浏览 1065人参与
# 从哪些方向判断这个offer值不值得去? #
56717次浏览 357人参与
# 校招笔试 #
468348次浏览 2957人参与
# 你的房租占工资的比例是多少? #
92165次浏览 896人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务