创建Series

import pandas as pd
#从字典创建
dict = {'id':'1','name':'dekyi','age':'29'}
s = pd.Series(dict)
print(s)
结果:
id          1
name    dekyi
age        29
dtype: object#从列表创建
list = [1,'dekyi',29]
s1 = pd.Series(list,index=['id','name','age'])
print(s1)
结果:
id          1
name    dekyi
age        29
dtype: object
或者不指定索引
print(pd.Series([1, 2, 3, 4]))
结果:
0    1
1    2
2    3
3    4
dtype: int64
import pandas as pd
s1 = pd.Series([1,2,3],index=[1,2,3],name='a')
s2 = pd.Series([10,20,30],index=[1,2,3],name='b')
s3 = pd.Series([100,200,300],index=[1,2,3],name='c')
#从字典形式加进DataFrame,series是列
df1 = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df1)
结果:a   b    c
1  1  10  100
2  2  20  200
3  3  30  300
#从列表形式加进DataFrame,series是行
df2 = pd.DataFrame([s1,s2,s3])
print(df2)
结果:1    2    3
a    1    2    3
b   10   20   30
c  100  200  300特别的,如果s1,s2,s3的名字不一样,输出结果如何?
import pandas as pd
s1 = pd.Series([1,2,3],index=[1,2,3],name='a')
s2 = pd.Series([10,20,30],index=[1,2,3],name='b')
s3 = pd.Series([100,200,300],index=[2,3,4],name='c')
#从字典形式加进DataFrame,series是列
df1 = pd.DataFrame({s1.name:s1,s2.name:s2,s3.name:s3})
print(df1)
结果:a     b      c
1  1.0  10.0    NaN
2  2.0  20.0  100.0
3  3.0  30.0  200.0
4  NaN   NaN  300.0

Series常用方法

Series.at['索引‘]   处理特定单元格,在dataframe也能用

Series.apply(函数名) ,指对其中的每个元素进行映射,即将apply的函数作用于每一个元素。

创建DataFrame

DataFrame([data, index, columns, dtype, copy]) #构造数据框

方式一:将一个{key:list[]}转换成DataFrame,其中key为列名

df = pd.DataFrame({'id':[1,2,3],'Name':['dekyi','jack','tom']})
结果:id   Name
0   1  dekyi
1   2   jack
2   3    tom

方式二:DataFrame(data,columns = ['col1','col0']),data是形式为{key:list[]}的字典,columns参数-指定列的顺序,

如果columns中传入的列名找不到,不会报错,而是产生一列 NA 值。

注意:将如果以字典形式创建,key为列;如果以列表形式创建,则以行写入,index变为列表。

df = pd.DataFrame({'id':[1,2,3],'Name':['dekyi','jack','tom']},columns = ['Name','id'])
结果:Name  id
0  dekyi   1
1   jack   2
2    tom   3

方式三:DataFrame(data,columns = ['col1','col0'],index=['c1','c2','c3'..])data是形式为{key:list[]}的字典,index指定行索引

df = pd.DataFrame({'id':[1,2,3],'Name':['dekyi','jack','tom']},columns = ['Name','id'],index=['c1','c2','c3'])
结果:Name  id
c1  dekyi   1
c2   jack   2
c3    tom   3

获取数据:

方式一:根据列索引获取

print(df['Name'])
结果:0    dekyi
1     jack
2      tom
Name: Name, dtype: object

方式二:根据行索引获取  (ix操作:混合使用下标和名称进行选取)

#用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
print(df.iloc[1:3])
结果:Name  id
c2  jack   2
c3   tom   3print(df.iloc[1:3,0])
结果:
c2    jack
c3     tom
Name: Name, dtype: object#loc还能赋值
df.loc[:,'age']=18
print(df)
结果:name  age  score
id
1     de   18     98
2     ji   18     87
3    yan   18     88
4     zp   18     95
5     lp   18     75
6     ko   18     84
7    dww   18     95
8     ki   18     84
9     po   18     81
10    er   18     79
11  dwee   18     95
12    tt   18     92
13    uu   18     81
14    pp   18     25#用column名和index名进行定位
print(df.loc['c1':'c3','Name'])
结果:
c1    dekyi
c2     jack
c3      tom
Name: Name, dtype: object#布尔值列表是根据某个位置的True or False 来选定,如果某个位置的布尔值是True,则选定该row
import pandas as pd
df = pd.read_excel('C:\\Users\\sjyyz\\file\\student.xls',index_col='id')
print(df)
结果:name  age  score
id
1     de   15     98
2     ji   25     87
3    yan   18     88
4     zp   12     95
5     lp   23     75
6     ko   21     84
7    dww   18     95
8     ki   12     84
9     po   13     81
10    er   15     79
11  dwee   35     95
12    tt   38     92
13    uu   25     81
14    pp   28     25
print(df.loc[[True]])
print(df.loc[[True,False,True]])
结果:name  age  score
id
1    de   15     98name  age  score
id
1    de   15     98
3   yan   18     88#条件布尔值
print(df.loc[df.age>18])
结果:name  age  score
id
2     ji   25     87
5     lp   23     75
6     ko   21     84
11  dwee   35     95
12    tt   38     92
13    uu   25     81
14    pp   28     25#通过函数得到布尔结果选定数据
#一空格一斜线是换行
students = df.loc[df.age.apply(lambda a:18<=a<30)] \
.loc[df.score.apply(lambda s:85<=s<100)]
print(students)
结果:name  age  score
id
2    ji   25     87
3   yan   18     88
7   dww   18     95

常用方法:

(1) reindex(index,columns,fill_value=x,method=ffill,)方法 —— 重新索引:根据index参数重新进行排序。如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行。不想用缺失值,可以用 fill_value 参数指定填充值。

(2) data.drop([‘idx1’,’idx2’],axis) —— 前面删除行,后面添加axis参数删除列。

(3) 算数运算:——补齐后运算,运算默认产生浮点型,不重叠的索引会取并集,值为 NA;如果不想这样,试试使用 add() 方法进行。

(4)data.at['行‘,’列‘]——: 访问行/列标签对的单个值

(5) data.sort_value(by='列(这里的值也可以是列表,对多个列依次排序)‘,axis=0/1,ascending=True,inplace=True)  排序 asix=0按照列排序,ascending 升/降序,inplace在当前文件操作。

(6) grouby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
(as_index的作用:当为True时会把分组的列当作索引,这样就取值的时候就复杂点。)

(7)groupby函数是基于行操作的,而agg是基于列操作的.agg可对分组后的数据进行多重统计计算。

(8)pandas自带两个方法可以直接获取最大:nlargest和最小:nsmallest

DataFrame.nsmallest(self, n, columns, keep='first')  n:要检索的项目数;columns:列名或按顺序排列的名称。

pandas 处理 excel 文件 之 Series DataFrame 篇相关推荐

  1. Python+pandas处理Excel文件案例一则

    封面图片:<Python程序设计实验指导书>(ISBN:9787302525790),董付国,清华大学出版社 图书详情(京东): ==================== 问题描述:使用p ...

  2. pandas 读取excel文件

    pandas 读取excel文件 一 read_excel() 的基本用法 二 read_excel() 的常用的参数: 三 示例 1. IO:路径 2. sheet_name:指定工作表名 3. h ...

  3. Pandas读取excel文件(pandas.read_excel)

    Pandas读取excel文件[pandas.read_excel] 说明 一.pandas.read_excel函数及参数 二.io 三.sheet_name 四.header.index_col ...

  4. pandas输出excel文件

    pandas输出excel文件 源数据:2020数学建模国赛c题附件一 将附件一的企业代号进行数据处理后将其作为excel文件保存输出 import pandas as pd import numpy ...

  5. python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法

    python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...

  6. Python+Pandas读取Excel文件分析关系最好的两个演员

    董老师又双叒叕送书啦,6本<Python程序设计基础与应用(第2版)> 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国 ...

  7. Python+pandas读取Excel文件统计最受欢迎的前3位演员

    推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社,2018.8出版,2021.3第11次印刷 图书详情: 配套资源: 用书教师可 ...

  8. Python使用pandas读取Excel文件数据和预处理小案例

    假设有Excel文件data.xlsx,其中内容为 现在需要将这个Excel文件中的数据读入pandas,并且在后续的处理中不关心ID列,还需要把sex列的female替换为1,把sex列的male替 ...

  9. 用pandas生成excel文件示例,并调整excel的格式或样式

    用pandas生成excel 当我们有特殊的需求时,比如要修改excel的行宽列宽,还有字体样式等等 需求示例 代码实现 # -*- coding: utf-8 -*- import pandas a ...

最新文章

  1. mysql常用语句整理
  2. python list add_用Python创建List对象类
  3. SAP CRM中间件下载equipment时遇到的一个错误
  4. 1.2开发文档简读,了解全貌.mp4
  5. 2维数组 qt_Qt编写地图综合应用11-动态添加
  6. 用迭代法求方程cos(y)-y=0的一个实根
  7. ios开发 各种字体
  8. 计算机校准颜色,显示器颜色校正,教您怎么校准显示器颜色
  9. opengl+qt+vs学习笔记1:软件下载安装以及配置
  10. 急需“五彩连珠”小游戏的代码
  11. Vista Ultimate X64 绝对正宗的激活工具
  12. html embed如何禁止自动播放,html embed用法
  13. html展示base64有长度限制,网页上的base64码太长?科普base64究竟是啥
  14. ElasticSearch集群黄色原因以及解决方案
  15. 普元云计算-一起来DIY一个人工智能实验室吧
  16. Flyme 6将于30日公测 魅蓝Note5有望率先尝鲜
  17. csv文件导入Mysql
  18. 如何用计算机蓝牙发送文件,怎么用蓝牙传文件
  19. php漂浮,【飘】【漂】:【飘浮】【漂浮】、【漂泊】【飘泊】【飘薄】
  20. 避坑,职场远离PUA,PUA常见的套路与话术你得了解一下!

热门文章

  1. fastjson的漏洞解决—2020年5月28日
  2. 内存和CPU占用率过高,该怎么办?
  3. CISCO内网客户端软件anyconnect-win安装下载
  4. 如何在微信小程序中实现文本换行?
  5. win7系统下连网络打印机打印反应很慢解决方法
  6. manjar强制关闭应用
  7. sqlserver清除换行符和回车符\r\n
  8. suma服务器 硬盘安装,[Server] HP DL380 G6更新esxi6.0 SATA 硬盘掉线问题
  9. 了解RESTful接口设计风格
  10. lib/python3.7/site-packages/torch/lib/../../../../libgomp.so.1: version `GOMP_4.0‘ not found (requir