“
在『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))
以上就是Pandas进阶修炼120题|第一期内容,当然我给出的每一题答案可能并非唯一或者最优答案,如果读者有其他实现代码或有相关建议欢迎给我留言。
记得点个在看支持下~????