赞
踩
举个简单的例子:
这是xinjian1.xlsx
姓名 | 语文 | 数学 | 在读 |
小王 | 90 | 是 | |
小张 | 87 | 89 | |
小李 | 67 | 是 |
问题1:我想找到是否在读的学生,而且不用等不等于“是”来判断,而是用某单元格是否为空来判断。
第一种方式是判断该单元格类型是否为float,第二种方式是is np.nan(注意是is不是==)。
- import pandas as pd
- import numpy as np
- df1 = pd.read_excel('xinjian1.xlsx')
-
- for lab,rows in df1.iterrows():
- print(type(df1.loc[lab,'在读'])==float)
- print(df1.loc[lab,'在读']is np.nan)
这是xinjian2.xlsx
姓名 | 语文 | 数学 | 在读 |
小贺 | 80 | 是 | |
小姜 | 90 | ||
小那 | 87 | 86 |
问题2:我想把这两个表格中,不在读的同学合并到一张表格里。 这里也不用“是”来判断。
- df1[(df1['在读'].isnull())] # 这种方法可以取在读列为空的行
-
- #结果:
- 姓名 语文 数学 在读
- 1 小张 87 89.0 NaN
-
- #合并为df3并保存
- df3 = pd.concat([df1[df1['在读'].isnull()],df2[df2['在读'].isnull()]])
- df3.to_excel('xinjian3.xlsx',index=False)
生成的xinjian3.xlsx
姓名 | 语文 | 数学 | 在读 |
小张 | 87 | 89 | |
小姜 | 90 | ||
小那 | 87 | 86 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。