首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas进阶修炼120题|第一期

在『Pandas进阶修炼120题』系列中,我们将对pandas中常用的操作以习题的形式发布。从读取数据到高级操作全部包含。如果你是新手,可以通过本系列完整学习使用pandas进行数据处理的各种方法,如果你是高手,欢迎留言给出与答案的不同解法。本期先来20题热身吧!

1

创建DataFrame

题目:将下面的字典创建为DataFrame

data = {"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","Python"],
       "score":[1,2,np.nan,4,5,6,7,10]}

难度:⭐

期望结果

答案

df = pd.DataFrame(data)

本期所有题目均基于该数据框给出

2

数据提取

题目:提取含有字符串"Python"的行

难度:⭐⭐

期望结果

grammer  score
0 Python    1.0
7 Python   10.0

答案

result=df[df['grammer'].str.contains("Python")]

3

提取列名

题目:输出df的所有列名

难度:⭐

期望结果

Index(['grammer', 'score'], dtype='object')

答案

df.columns

4

修改列名

题目:修改第二列列名为'popularity'

难度:⭐⭐

答案

df.rename(columns={'score':'popularity'}, inplace = True)

5

字符统计

题目:统计grammer列中每种编程语言出现的次数

难度:⭐⭐

答案

df['grammer'].value_counts()

6

缺失值处理

题目:将空值用上下值的平均值填充

难度:⭐⭐⭐

答案

df['popularity'] = df['popularity'].fillna(df['popularity'].interpolate())

7

数据提取

题目:提取popularity列中值大于3的行

难度:⭐⭐

答案

df[df['popularity'] > 3]

8

数据去重

题目:按照grammer列进行去重

难度:⭐⭐

答案

df.drop_duplicates(['grammer'])

9

数据计算

题目:计算popularity列平均值

难度:⭐⭐

答案

df['popularity'].mean()

10

格式转换

题目:将grammer列转换为list

难度:⭐⭐

答案

df['grammer'].to_list()

11

数据保存

题目:将DataFrame保存为EXCEL

难度:⭐⭐

答案

df.to_excel('filename.xlsx')

12

数据查看

题目:查看数据行列数

难度:⭐

答案

df.shape

13

数据提取

题目:提取popularity列值大于3小于7的行

难度:⭐⭐

答案

df[(df['popularity'] > 3) & (df['popularity'] < 7)]

14

位置处理

题目:交换两列位置

难度:⭐⭐⭐

答案

temp = df['popularity']
df.drop(labels=['popularity'], axis=1,inplace = True)
df.insert(0, 'popularity', temp)

15

数据提取

题目:提取popularity列最大值所在行

难度:⭐⭐

答案

df[df['popularity'] == df['popularity'].max()]

16

数据查看

题目:查看最后5行数据

难度:⭐

答案

df.tail()

17

数据修改

题目:删除最后一行数据

难度:⭐

答案

df = df.drop(labels=0)

18

数据修改

题目:添加一行数据['Perl',6.6]

难度:⭐⭐

答案

row={'grammer':'Perl','popularity':6.6}
df = df.append(row,ignore_index=True)

19

数据整理

题目:对数据按照"popularity"列值的大小进行排序

难度:⭐⭐

答案

df.sort_values("popularity",inplace=True)

20

字符统计

题目:统计grammer列每个字符串的长度

难度:⭐⭐⭐

答案

df['grammer'].map(lambda x: len(x))
下一篇
举报
领券