ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pandas组队学习:task2

2020-12-19 16:04:12  阅读:169  来源: 互联网

标签:task2 row df col 组队 pd csv pandas Out


一、文件读取和写入

1. 文件读取

  • csv:pd.read_csv(filename)

  • txt :pd.read_table(filename)

  • excle:pd.read_excel(filename)

    示例:

import pandas as pd
df_csv = pd.read_csv('my_csv.csv')

Out[6]: 
   col1 col2  col3    col4      col5
0     2    a   1.4   apple  2020/1/1
1     3    b   3.4  banana  2020/1/2
2     6    c   2.5  orange  2020/1/5
3     5    d   3.2   lemon  2020/1/7

​ header=None表示第一行不作为列名,例如:

import pandas as pd
df_csv = pd.read_csv('my_csv.csv',header=None)			#原本一共4行,现在变成了5行
Out[9]: 
      0     1     2       3         4
0  col1  col2  col3    col4      col5
1     2     a   1.4   apple  2020/1/1
2     3     b   3.4  banana  2020/1/2
3     6     c   2.5  orange  2020/1/5
4     5     d   3.2   lemon  2020/1/7

usecols表示读取指定列:(输入为列的名称)

import pandas as pd
df_csv = pd.read_csv('my_csv.csv',usecols=['col1'])		#读取第一列
Out[13]: 
   col1
0     2
1     3
2     6
3     5

nrows表示读取的行数:(输入为整数)

import pandas as pd
df_csv = pd.read_csv('my_csv.csv',nrows=2)			#读取两行
Out[15]: 
   col1 col2  col3    col4      col5
0     2    a   1.4   apple  2020/1/1
1     3    b   3.4  banana  2020/1/2

2.文件写入

  • csv:data.to_csv(path, index = False) index=False表示将索引去除
  • excel:data.to_excel(path, index = False)
  • txt:data.to_csv(path,sep='\t', index=False)

二.基本数据结构

1.series

由四个部分组成,数据:data,索引:index,存储类型:dtype,名称:name;例如:

s = pd.Series(data = [1,10,100],index=[1,2,3],name = 'my_series')
Out[20]: 
1      1
2     10
3    100
Name: my_series, dtype: int64

访问这些属性可以分别用:数据:s.values,索引:s.index,类型:s.dtype,名称:s.name访问;

2.DataFrame

DataFrame在sreies的基础上,将列进行了扩展,由原来的一维变为了二维。

创建方法和sries基本一致,增加列的索引名,例如:

In [33]: df = pd.DataFrame(data = {'col_0': [1,2,3], 'col_1':list('abc'),
   ....:                           'col_2': [1.2, 2.2, 3.2]},
   ....:                   index = ['row_%d'%i for i in range(3)])
   ....: 

In [34]: df
Out[34]: 
       col_0 col_1  col_2
row_0      1     a    1.2
row_1      2     b    2.2
row_2      3     c    3.2

可以按列索引,取出一列或者多列:

In [35]: df['col_0']				#取出某一列
Out[35]: 
row_0    1
row_1    2
row_2    3
Name: col_0, dtype: int64

In [36]: df[['col_0', 'col_1']]			#取出多列
Out[36]: 
       col_0 col_1
row_0      1     a
row_1      2     b
row_2      3     c

三、常见基本函数

1.汇总函数

head函数表示返回表的前n行,tail返回后n行:

In [46]: df.head(2)
Out[46]: 
                          School     Grade            Name  Gender  Height  Weight Transfer
0  Shanghai Jiao Tong University  Freshman    Gaopeng Yang  Female   158.9    46.0        N
1              Peking University  Freshman  Changqiang You    Male   166.5    70.0        N

In [47]: df.tail(3)
Out[47]: 
                            School      Grade            Name  Gender  Height  Weight Transfer
197  Shanghai Jiao Tong University     Senior  Chengqiang Chu  Female   153.9    45.0        N
198  Shanghai Jiao Tong University     Senior   Chengmei Shen    Male   175.3    71.0        N
199            Tsinghua University  Sophomore     Chunpeng Lv    Male   155.7    51.0 

info返回表的信息概况, describe返回表中数值列对应的主要统计量 :

In [48]: df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 200 entries, 0 to 199
Data columns (total 7 columns):
 #   Column    Non-Null Count  Dtype  
---  ------    --------------  -----  
 0   School    200 non-null    object 
 1   Grade     200 non-null    object 
 2   Name      200 non-null    object 
 3   Gender    200 non-null    object 
 4   Height    183 non-null    float64
 5   Weight    189 non-null    float64
 6   Transfer  188 non-null    object 
dtypes: float64(2), object(5)
memory usage: 11.1+ KB

In [49]: df.describe()
Out[49]: 
           Height      Weight
count  183.000000  189.000000
mean   163.218033   55.015873
std      8.608879   12.824294
min    145.400000   34.000000
25%    157.150000   46.000000
50%    161.900000   51.000000
75%    167.500000   65.000000
max    193.900000   89.000000

2.统计函数

quantile:返回分位数

In [53]: df_demo.quantile(0.75)
Out[53]: 
Height    167.5
Weight     65.0
Name: 0.75, dtype: float64

count:返回非缺失值个数

In [54]: df_demo.count()
Out[54]: 
Height    183
Weight    189
dtype: int64

idxmax:返回最大值索引

In [55]: df_demo.idxmax() # idxmin是对应的函数
Out[55]: 
Height    193
Weight      2
dtype: int64

3.唯一值函数

主要用来统计表中类别的个数。

  • unique:统计类别的列表

  • nunique:统计类别的数目

  • value_counts:统计不同类别出现的次数

上面这几个函数只能针对某一列使用,若对多列使用,应该用drop_duplicates函数,相当于是去除重复的值。

对于drop_duplicates函数中的keep参数:keep=first表示保留第一次出现的行,keep=last表示保留最后一次,False表示把重复的全都剔除。

4.替换函数

  • 映射替换:replace
  • 逻辑替换:where和mask; where 函数在传入条件为 False 的对应行进行替换,而 mask 在传入条件为 True 的对应行进行替换。
  • 数值替换:round,四舍五入;abs,取绝对值;clip,上下边界截断。

5.排序函数

  • 值排序:sort_values,其中ascending参数默认为True升序,false为降序 (按列值排)
  • 索引排序:sort_index,索引用leve表示,排序顺序是按字母的顺序 (按行值排)

6.apply方法

​ 有点像上一章的map方法,也是通过自定义函数来进行操作

四、窗口对象

标签:task2,row,df,col,组队,pd,csv,pandas,Out
来源: https://www.cnblogs.com/zwrAI/p/14159457.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有