文章目录
- 数据总表
- 1、读取列
- 2、读取某列的第几行的值
- 3、第一行数据
- 4、读取列中前10个值
- 5、读取索引标签为1 、 2 、 3 、 5和8的记录
- 6、包含索引标签为0 、1 、10和100的记录的country 、province 、 region_1和region_2列
- 7、 前 100 条记录的country和variety列
- 8、包含Italy葡萄酒评论的 DataFrame italian_wines
- 9、包含来自澳大利亚或新西兰的葡萄酒的至少 95 分(满分 100 分)的所有评论
数据总表
reviews.head()
1、读取列
从reviews中选择description列并将结果分配给变量desc
# Your code here
desc = reviews.description
2、读取某列的第几行的值
从reviews的描述列中选择第一个值,将其分配给变量first_description
first_description = desc.iloc[0]
3、第一行数据
从reviews中选择第一行数据(第一条记录),并将其分配给变量first_row
first_row = reviews.loc[0,:]
4、读取列中前10个值
从reviews中的description列中选择前 10 个值,将结果分配给变量first_descriptions
first_descriptions = reviews.description.iloc[:10]
first_descriptions
5、读取索引标签为1 、 2 、 3 、 5和8的记录
选择索引标签为1 、 2 、 3 、 5和8的记录,并将结果分配给变量sample_reviews
sample_reviews = reviews.iloc[[1,2,3,5,8],:]
sample_reviews
6、包含索引标签为0 、1 、10和100的记录的country 、province 、 region_1和region_2列
创建一个变量df其中包含索引标签为0 、 1 、 10和100的记录的country 、 province 、 region_1和region_2列。换句话说,生成以下 DataFrame
df = reviews.loc[[0, 1, 10, 100], ['country', 'province', 'region_1', 'region_2']]
df
# 官方代码
cols = ['country', 'province', 'region_1', 'region_2']
indices = [0, 1, 10, 100]
df = reviews.loc[indices, cols]
7、 前 100 条记录的country和variety列
创建一个变量df其中包含前 100 条记录的country和variety列。
提示:您可以使用loc或iloc 。在回答这个问题以及接下来的几个问题时,请保留教程中描述的以下“陷阱”:
iloc使用 Python stdlib 索引方案,其中包含范围的第一个元素并排除最后一个元素。同时, loc包含索引。
当 DataFrame 索引是一个简单的数字列表(例如0,…,1000时,这尤其令人困惑。在这种情况下df.iloc[0:1000]将返回 1000 个条目,而df.loc[0:1000]返回其中的 1001 个!要使用loc获取 1000 个元素,您需要降低一级并请求df.iloc[0:999] 。
# loc包含索引
df = reviews.loc[:99, ['country', 'variety']]
df
或者
# iloc不包含索引,且只能使用数字作为索引
# 不能使用该写法错误:df = reviews.iloc[:100, ['country', 'variety']]
df = reviews.iloc[:100, [0, 11]]
df
iloc
:基于位置索引选择
iloc 是基于整数位置(即位置索引)来选择数据。
适用于需要按行、列的数字位置索引进行定位的场景。
索引从 0 开始,例如 iloc[0] 选择的是第一行。loc
:基于标签索引选择
loc 是基于标签索引(即行或列的名称)来选择数据。
适用于已知标签的场景,比如使用行名称或列名称来提取数据。
官方代码
cols = ['country', 'variety']
df = reviews.loc[:99, cols]
or
cols_idx = [0, 11]
df = reviews.iloc[:100, cols_idx]
8、包含Italy葡萄酒评论的 DataFrame italian_wines
创建一个包含Italy葡萄酒评论的 DataFrame italian_wines 。提示: reviews.country等于什么?
italian_wines = reviews.loc[reviews.country == 'Italy']
9、包含来自澳大利亚或新西兰的葡萄酒的至少 95 分(满分 100 分)的所有评论
创建一个 DataFrame top_oceania_wines ,其中包含来自澳大利亚或新西兰的葡萄酒的至少 95 分(满分 100 分)的所有评论
top_oceania_wines = reviews.loc[((reviews.country == 'Australia') | (reviews.country =='New Zealand')) & (reviews.points >= 95) ]
top_oceania_wines
官方代码
top_oceania_wines = reviews.loc[
(reviews.country.isin(['Australia', 'New Zealand']))
& (reviews.points >= 95)
]