北辰网站开发,权威的合肥网站推广,重庆网络公司招聘,毕业设计做网站怎么样目录6. 函数填充#xff0c;计算列6.1 excel操作6.2 pandas操作16.3 pandas操作28. 数据筛选、过滤#xff0c;[绘图前的必备功课]8.1 excel操作8.2 Python操作http://sa.mentorx.net 蔓藤教育6. 函数填充#xff0c;计算列
书的编号、书的名字、标价、折扣、最终价钱 最终…
目录6. 函数填充计算列6.1 excel操作6.2 pandas操作16.3 pandas操作28. 数据筛选、过滤[绘图前的必备功课]8.1 excel操作8.2 Python操作http://sa.mentorx.net 蔓藤教育6. 函数填充计算列
书的编号、书的名字、标价、折扣、最终价钱 最终价钱PriceListPrice * Discount 标价 * 折扣
6.1 excel操作 6.2 pandas操作1
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
print(books)填充Price列在excel中我们操作的是单元格而pandas中我们操作的是列
操作符的重载比如下面的 *乘号操作符当它左右两边是两列时它就把两列前后对其一个单元格乘以一个单元格的乘起来。
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
books[Price] books[ListPrice] * books[Discount]
print(books)乘以 一个数也是可以的
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
books[Price] books[ListPrice] * 0.8
print(books)用循环来迭代DataFrame(有点类似excel的单元格对单元格操作
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
for i in books.index:books[Price].at[i] books[ListPrice].at[i] * books[Discount].at[i]
print(books)运算的时候不想从头到尾运算而是从其中的某一段开始运算
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
for i in range(5, 16):books[Price].at[i] books[ListPrice].at[i] * books[Discount].at[i]
print(books)6.3 pandas操作2
现在每本书要涨价2元
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
books[ListPrice] books[ListPrice] 2
print(books)调用series的apply()函数来实现上面的功能
import pandas as pddef add_2(x):return x 2
books pd.read_excel(C:/Temp/Books.xlsx, index_colID)
books[ListPrice] books[ListPrice].apply(add_2)
print(books)将得到上图同样的结果。 进一步简化代码
import pandas as pdbooks pd.read_excel(C:/Temp/Books.xlsx, index_colID)
books[ListPrice] books[ListPrice].apply(lambda x: x 2)
print(books)8. 数据筛选、过滤[绘图前的必备功课]
8.1 excel操作
筛选18年龄30的学生的分数状况且分数80的学生 全部选中然后筛选即可。
8.2 Python操作
读取的时候将 ‘ID’ 作为 index
import pandas as pdstudents pd.read_excel(C:/Temp/Students.xlsx, index_colID)筛选数据用函数的形式来表达条件 pd.series有apply()方法
import pandas as pdstudents pd.read_excel(C:/Temp/Students.xlsx, index_colID)
students students.loc[students[Age].apply[age_18_to_30]]
print(students)import pandas as pddef age_18_to_30(a):return 18 a 30def level_a(s):return 85 s 100students pd.read_excel(C:/Temp/Students.xlsx, index_colID)
students students.loc[students[Age].apply[age_18_to_30]].loc[students[Score].apply(level_a)]
print(students)另一种写法
students students.loc[students.Age.apply[age_18_to_30]].loc[students.Score.apply(level_a)]进一步优化代码
students students.loc[students.Age.apply[lambda a: 18a30]].loc[students.Score.apply(lambda s: 85s100)]代码太长可以打一个 空格 ’ \ 然后回车即可
students students.loc[students.Age.apply[lambda a: 18a30]] \
.loc[students.Score.apply(lambda s: 85s100)]