列表解析使用示例
#创建一个存储从数值0到数值10的列表
num=[]
for i in range(11):
num.append(i)
print(num)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#列表解析创建
[i for i in range(11)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#使用条件表达式过滤列表成员
[i for i in range(11) if i % 2 == 0]
[0, 2, 4, 6, 8, 10]
#表达式初始化列表成员
[i*3 for i in range(11) if i % 2 == 0]
[0, 6, 12, 18, 24, 30]
#创建矩阵
matrix=[[(x*2)*y for x in range(4)] for y in range(3)]
matrix
[[0, 0, 0, 0], [0, 2, 4, 6], [0, 4, 8, 12]]
和groupby()的一个例子
数据集datagroupby
datagroupby数据集
import pandas as pd
all_data = pd.read_csv("datagroupby.csv")
all_data.head()
想取出里面的城市名称,下面的这个代码可以实现。
all_data['City'].unique().tolist()
[‘Dallas (TX)’,
‘Boston (MA)’,
‘Los Angeles (CA)’,
‘San Francisco (CA)’,
‘Seattle (WA)’,
‘Atlanta (GA)’,
‘New York City (NY)’,
‘Portland (OR)’,
‘Austin (TX)’,
‘Portland (ME)’]
但是我却看到的是下面这个代码
keytemp=[city for city , df in all_data.groupby('City')]
keytemp
这行代码其实和普通的列表解析一样,for city , df in all_data.groupby(‘City’)这一块有两个量city 和df,然后[city for city , df in all_data.groupby(‘City’)]表示我们只要了city这一个量,运行结果如下,和上面代码效果一样。也不太一样,这个有顺序。
[‘Atlanta (GA)’,
‘Austin (TX)’,
‘Boston (MA)’,
‘Dallas (TX)’,
‘Los Angeles (CA)’,
‘New York City (NY)’,
‘Portland (ME)’,
‘Portland (OR)’,
‘San Francisco (CA)’,
‘Seattle (WA)’]