Pandas中两种常用索引函数loc
和iloc
,与python不同的是这两个 row-first, column-second。
iloc
是Index-based selection,loc
是Label-based selection
注:iloc
使用Python stdlib索引模式,其中包含范围的第一个元素,排除最后一个元素。所以0:10将选择条目0…9。但是,loc
中0:10将选择条目0…10。
1.将表中的description
列从review
放到desc
中
desc = reviews.iloc[ : ,1]
或者:
desc = reviews.loc[ : ,'description']
2.将description
列中第一个值赋到first_description
中
first_description = reviews.iloc[0,1]
或者:
first_description = reviews.loc[0,'description']
3.选择第一行数据赋到first_row
中
first_row = reviews.iloc[0,:]
或者:
first_row = reviews.loc[0,:]
4.将description
这列中的前十个数据放到first_descriptions
中
first_descriptions = reviews.iloc[0:10,1]
或者:
first_descriptions = reviews.loc[0:9,'description'] # 这里第一个索引是0:9,原因是在前面的注中
5.将行索引为1,2,3,5,8的数据赋到sample_reviews
中
sample_reviews = reviews.iloc[[1,2,3,5,8],:]
或者:
sample_reviews = reviews.loc[[1,2,3,5,8],:]
6.将第0,1,10,100行的列为如图四个的数据赋到df
中
df = reviews.iloc[[0,1,10,100],[0,5,6,7]]
或者:
df = reviews.loc[[0,1,10,100],['country','province','region_1','region_2']]
7.创建一个df
中有country
和variety
中的前100行数据
df = reviews.iloc[0:100,[0,11]]
或者:
df = reviews.loc[0:99,['country','variety']]
8.创建一个italian_wines
将包含印度的赋入:
italian_wines = reviews.loc[reviews.country == 'Italy']
9.创建一个top_oceania_wines
将Australia
,New Zealand
中points
大于等于95的赋入
top_oceania_wines = reviews.loc[reviews.country.isin(['Australia','New Zealand']) & (reviews.points >= 95)]
补充:
1.assign操作
reviews['critic'] = 'everyone'
reviews['critic']
0 everyone
1 everyone
...
129969 everyone
129970 everyone
Name: critic, Length: 129971, dtype: object
2.数据非空,用notnull
函数
reviews.loc[reviews.price.notnull()]
3.set_index()
函数,更换第一列的索引
reviews.set_index("title")