已有184人关注
第3章,快速示例18中有一句看不懂 df = df[[x.startswith('$') for x in df[3]]]
发表在Python图书答疑 2020-08-13 《Python数据分析从入门到实践》第3章 Pandas入门 60页-61页
是否精华
版块置顶:

import pandas as pd
df = pd.DataFrame()
url_list = ['http://www.espn.com/nba/salaries/_/seasontype/4']
for i in range(2, 13):
    url = 'http://www.espn.com/nba/salaries/_/page/%s/seasontype/4' % i
    url_list.append(url)
#遍历网页中的table读取网页表格数据
for url in url_list:
    df = df.append(pd.read_html(url), ignore_index=True)
#列表解析:遍历dataframe第3列,以子字符串$开头
df = df[[x.startswith('$') for x in df[3]]]
print(df)
df.to_csv('NBA.csv',header=['RK','NAME','TEAM','SALARY'], index=False)


df[[x.startswith('$') for x in df[3]]] 

这句看不懂。 如果用 for if的形式如何写? 请老师讲解一下。谢谢。


分享到:
精彩评论 2
无语_mrkj
学分:3155 LV11
2020-08-17
沙发

这里面用的是列表推导式,[x.startswith('$') for x in df[3]]表示取df[3]中以$开头的内容作为列表的元素。如果换成for if的形式代码比较多,得用for遍历,用if判断,再把符合条件的值添加到一个列表中。

修_1605228407
学分:5 LV1
2020-08-20
板凳

无语_mrkj 发表于2020-08-17 14:38

这里面用的是列表推导式,[x.startswith('$') for x in df[3]]表示取df[3]中以$开头的内容作为列表的元素。如果换成for if的形式代码比较多,得用for遍历,用if判断,再把符合条件的值添加到一个列表中。

谢谢回复。可以帮我写一下for和if的形式吗?谢谢

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照