cols = [i for i in df.columns if i not in ['销售额']]

helloword222 2020-04-02 03:06:04
import pandas as pd
file=pd.ExcelFile("c.xls")
df=pd.read_excel(file,skiprows=1)
cols = [i for i in df.columns if i not in ['销售额']]
print(df[cols])


cols = [i for i in df.columns if i not in ['销售额']]
这句代码,字面意思能够理解,获取excel表格的所有列,但是剔除掉销售额这列。得到一串数组。
但是对于这句代码,语法用法感觉比较困惑。
for 语句很熟悉
if not 也清楚
但是这样整合在一起,迷茫了,特别是 for 的前面的变量 i

烦请帮忙分解一下。谢谢!
初步接触python中。
...全文
1325 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
paullbm 2020-04-03
  • 打赏
  • 举报
回复
引用 1 楼 crystaldn 的回复:
习惯了会感觉更整洁 cols = [] for i in df.columns if i not in ['销售额']: cols.append(i)
这个已经解释的非常清楚了! 另外多看看列表推导式,然后学会列表推导式的拆解和组合,多弄几次就会习惯了!
chuifengde 2020-04-02
  • 打赏
  • 举报
回复
看列表推导式知识就清楚了
crystaldn 2020-04-02
  • 打赏
  • 举报
回复 1
习惯了会感觉更整洁

cols = []
for i in df.columns
if i not in ['销售额']:
cols.append(i)

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧