pythonpandas读取excel单元门公式值_Pythonpandas对excel
的。。。
最近经常看到各平台⾥都有Python的⼴告,都是对excel的操作,这⾥明哥收集整理了⼀下pandas对excel的操作⽅法和使⽤过程。本篇介绍 pandas 的 DataFrame 对列 (Column) 的处理⽅法。⽰例数据请通过明哥的gitee进⾏下载。
增加计算列
pandas 的 DataFrame,每⼀⾏或每⼀列都是⼀个序列 (Series)。⽐如:
import pandas as pd
df1 = pd.read_excel('./excel-comp-data.xlsx');
此时,⽤ type(df1['city'],显⽰该数据列(column)的类型是 series.Series。理解每⼀列都是 Series ⾮常重要,因为pandas 基于 numpy,对数据的计算都是整体计算。深刻理解这个,才能理解后⾯要说的诸如 apply() 函数等。
如果列名 (column name)没有空格,则列有两种⽅式表达:
df1['city']
df1.city
如果列名有空格,或者创建新列(即该列不存在,需要创建,第⼀次使⽤的变量),则只能⽤第⼀种表达式。
假设我们要对三个⽉的数据进⾏汇总,可以使⽤下⾯的⽅法。实际上就是创建⼀个新的数据列:python怎么读取excel某一列
# 由于是创建,不能使⽤ df.Total
df1['Total'] = df1['Jan'] + df1['Feb'] + df1['Mar']
df1['Jan'] 到 df1['Mar'] 都是 Series,所以使⽤ + 号,可以得到三个 Series 对应位置的数据合计。
当然,也可以⽤下⾯的⽅式:
df1['total'] = df1.Jan + df1.Feb + df1.Mar
增加条件计算列
假设现在要根据合计数 (Total 列),当 Total ⼤于 200,000 ,类别为 A,否则为 B。在 Excel 中实现⽤的是 IF 函数,但在 pandas 中需要⽤到 numpy 的 where 函数:
df1['category'] = np.where(df1['total'] > 200000, 'A', 'B')
在指定位置插⼊列
上⾯⽅法增加的列,位置都是放在最后。如果想要在指定位置插⼊列,要⽤ dataframe.insert() ⽅法。假设我们要在 state 列后⾯插⼊⼀列,这⼀列是 state 的简称 (abbreviation)。在 Excel 中,根据 state 来到 state 的简称 ,⼀般⽤ VLOOKUP 函数。我们⽤两种⽅法来实现,第⼀种⽅法,简称来⾃ Python 的 dict。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。