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']
全部评论

相关推荐

头像
昨天 12:47
已编辑
中国地质大学(武汉) Java
你出生在农村,与其它农村小孩子无异小学时你对成绩没有概念,只感觉上课不听课也是无聊,只知道不写完作业会被老师罚站一到考试,自己成绩总是名列靠前,即使偶尔落后,你也从不在意中学时你觉得课本的东西很简单,随便学学就会了,并没有大量刷题你总是想不通,那些所谓的数学物理中难题,明明是在送分,为什么你的同学总是想不出解题方法高中时这三年你过的不容易,晚睡早起,给了自己很多压力.但是你也发现自己是有些小聪明的,你感觉班里有些同学很刻苦,但成绩比你差远了。那些数学题和物理题的陷阱,同学一遍遍踩坑,但是你总能发现并避开它们.“为了父母的期盼,为了恩师的厚望,为了天赐的智慧,为了青春的理想......”“天行健...
创作助手_刘北:其实,这种已经是神童级别的了,不费吹灰之力就能拿到自己想要的东西,就像机器按照程序走了一遍,就像我小时候看爱情公寓,觉得他们都很惨,几个人只能挤在一个房间里合租,但是好在他们有一群非常好的朋友,随着时间的推移,慢慢长大了,在看爱情公寓的时候,觉得他们都很厉害,博士、留学生、***、电台公子,数学天才,任何一个都是我可望而不可即的,更别说可以在异地认识一群更好的朋友了,所以呢,人还是要自给自足,满足当下,不要攀比,意气风发的且有理想的18岁少年永远都存在,只不过随着时间的推移他被你包裹在了洋葱的最深处。
点赞 评论 收藏
分享
ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务