mysql通过函数完成10的阶乘_我来做数据--如何对数据进行处理

SSA 提供了一份从1880 到 2010 年的婴儿名字频率数据。我们主要用这份数据来做以下的处理:

计算指定名字(可以是你自己的,也可以是别人的)的年度比例。

计算某个名字的相对排名。

计算各年度最流行的名字,以及增长或减少最快的名字。

分析名字趋势:元音、辅音、长度、总体多样性、拼写变化、首尾字母等

分析外源性趋势:圣经中的名字、名人、人口结构变化等。

一.数据是非常标准的以逗号隔开的格式,所以可以用Pandas.read_csv将其加载到Dataframe中

>>> names1880 = pd.read_csv('G:\\lcw\\names\\yob1880.txt',names=['name','sex','births'])

#这里的names 是用来作为dataframe的表头

>>> names1880

name sex birth

0 Mary F 7065

1 Anna F 2604

2 Emma F 2003

3 Elizabeth F 1939

4 Minnie F 1746

5 Margaret F 1578

6 Ida F 1472

7 Alice F 1414

8 Bertha F 1320

9 Sarah F 1288

用births列的sex分组小计表示该年度的births总计:

>>> names1880.groupby('sex')['births'].sum()

sex

F 90993

M 110493

Name: births, dtype: int64

**由于该数据集按年度被分隔成了多个文件,所以第一件事情就是要将所有数据都组装到一个DataFrame里面,并加上一个year字段。使用 pandas.concat 即可达到这个目的:

>>> years = range(1880,2011)

>>> pieces = []

>>> columns = ['name','sex','births']

>>> for year in years:

path = 'G:\\lcw\\names\\yob%d.txt' % year

frame = pd.read_csv(path,names = columns)

frame['year'] = year

pieces.append (frame)

>>> names = pd.concat(pieces,ignore_index=True)

>>> names

name sex births year

0 Mary F 7065 1880

1 Anna F 2604 1880

2 Emma F 2003 1880

3 Elizabeth F 1939 1880

4 Minnie F 1746 1880

5 Margaret F 1578 1880

6 Ida F 1472 1880

7 Alice F 1414 1880

8 Bertha F 1320 1880

9 Sarah F 1288 1880

10 Annie F 1258 1880

11 Clara F 1226 1880

12 Ella F 1156 1880

13 Florence F 1063 1880

14 Cora F 1045 1880

15 Martha F 1040 1880

16 Laura F 1012 1880

17 Nellie F 995 1880

18 Grace F 982 1880

19 Carrie F 949 1880

20 Maude F 858 1880

21 Mabel F 808 1880

22 Bessie F 794 1880

23 Jennie F 793 1880

24 Gertrude F 787 1880

25 Julia F 783 1880

26 Hattie F 769 1880

27 Edith F 768 1880

28 Mattie F 704 1880

29 Rose F 700 1880

... ... .. ... ...

1690754 Zaviyon M 5 2010

1690755 Zaybrien M 5 2010

1690756 Zayshawn M 5 2010

1690757 Zayyan M 5 2010

1690758 Zeal M 5 2010

1690759 Zealan M 5 2010

1690760 Zecharia M 5 2010

合并数据集(pandas.merge 和 pandas.concat)

pandas.merge 可根据一个或多个键将不同 DataFrame 中的行连接起来

pandas.concat 可以沿着一条轴将多个对象堆叠到一起

combine_first 可以用一个对象中的值填充另一个对象中对应位置的缺失值

使用键参数的DataFrame进行合并:

pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True) 用于通过一个或多个键将两个数据集的行连接起来,类似于 SQL 中的 JOIN。该函数的典型应用场景是,针对同一个主键存在两张包含不同字段的表,现在我们想把他们整合到一张表里。在此典型情况下,结果集的行数并没有增加,列数则为两个元数据的列数和减去连接键的数量。

on=None 用于显示指定列名(键名),如果该列在两个对象上的列名不同,则可以通过 left_on=N

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值