learn_pandas

Jupyter Notebook环境下

zip()函数:

#初始化数据,用zip函数合并
names=['Bob','Jessica','Mary','John','Mel']
births=[968,155,77,578,973]
BabyDataSet=list(zip(names,births))
BabyDataSet

得到
[('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)]

存储/读取CSV文件:

#存
df.to_csv('xxx.csv', index=False, header=False)
Location = r'./xxx.csv' 
#读
df = pd.read_csv(Location)

index是序号,header是标题

sort_values函数:

只在网上搜到了用sort_values对2列排序问题。引用自http://bbs.csdn.net/topics/392092047

df.sort_values(['high', '日序'], ascending=[False, True])
实现了先按high列降序排列,如遇重复值,再按第二列日期索引进行升序排序


Sorted = df.sort_values(['Births'], ascending=False)
Sorted.head(1)
先按Births列进行降序排列,然后找到第1行

df['Names'][df['Births'] == df['Births'].max()]

在 Names 列中挑选出 [Births 列的值等于 973] 

random.random()

用于生成指定范围内的随机浮点数

random.random(10,20)
#15.534253748253

random.randint():

生成指定范围的随机整数
size参数:size=(3,4)生成的是三个四维数组(http://blog.csdn.net/pipisorry/article/details/39508417)

random.random(10,20)
#15.534253748253

seed():

设置相同的seed获得相同的随机数,不设置seed每次得到不同的随机数

import random

random.seed(1)
print (random.random())
random.seed(10)
print ( random.random())
random.seed(10)
print (random.random())

0.13436424411240122
0.5714025946899135
0.5714025946899135

df.groupby

参考
http://www.w3school.com.cn/sql/sql_groupby.asp
http://blog.csdn.net/leonis_v/article/details/51832916

data_range:

pandas.data_range(star=None,end=None,period=None,freq=' D',tz=None,normalize=False,name=None,closed=None,**kwargs)

各个参数的意义如下(参考自http://blog.csdn.net/shanyicheng1111/article/details/52653013):

start:string或datetime-like,默认值是None,表示日期的起点。

end:string或datetime-like,默认值是None,表示日期的终点。
periods:integer或None,默认值是None,表示你要从这个函数产生多少个日期索引值;如果是None的话,那么start和end必须不能为None。
freq:string或DateOffset,默认值是’D’,表示以自然日为单位,这个参数用来指定计时单位,比如’5H’表示每隔5个小时计算一次。
tz:string或None,表示时区,例如:’Asia/Hong_Kong’。
normalize:bool,默认值为False,如果为True的话,那么在产生时间索引值之前会先把start和end都转化为当日的午夜0点。
name:str,默认值为None,给返回的时间索引指定一个名字。
closed:string或者None,默认值为None,表示start和end这个区间端点是否包含在区间内,可以有三个值,’left’表示左闭右开区间,’right’表示左开右闭区间,None表示两边都是闭区间。

rng = pd.date_range(start='1/1/2009', end='12/31/2012',freq='W-MON')
创建一个按周计算的日期范围,每周一起始

sort_index():

   c    f   d   a
C   3   5   2   6
A   9   23  12  34
B   12  15  11  0

#按frame的行索引进行排序
frame.sort_index()
    c   f   d   a
A   9   23  12  34
B   12  15  11  0
C   3   5   2   6

#按frame的列索引进行排序
frame.sort_index(axis=1)
   a    c   d   f
C   6   3   2   5
A   34  9   12  23
B   0   12  11  15
参考自http://blog.csdn.net/xu200yang/article/details/70239109

value_counts():

返回一个Series,其索引为唯一值,其值为频率,按计数值降序排列

drop_duplicates():

删除重复元素,只留下一个值

你可能感兴趣的:(python)