python的pandas使用

序号,姓名,性别,语文,数学,英语,地理,化学,生物
1,高莎莎,,100,88,96,88,65,96
2,张三,,100,98,96,88,65,96
3,李四,,100,78,96,88,65,96
4,王五,,100,90,96,88,65,96
#读取CSV文件
csv = pd.read_csv("C:/Users/wb-admin/Desktop/student.txt")
#print(csv)
#只读取前两行
print(csv.head(2))

#数据格式
print(type(csv))

#列名1
print(csv.columns)
#索引
print(csv.index)
#获取索引为1的行值
print(csv.loc[1])

#数学成绩大于80
print(csv[csv.数学 > 80])

#复杂筛选 语文、数学、英语都要大于80
print(csv[(csv.数学 > 80)&(csv.语文 > 80)&(csv.英语 > 80)])

#排序
print(csv.sort_values(['数学','语文']))

#访问数据元素,实实在在的所谓的第几行
print(csv.iloc[1])

#简单的统计
print(csv.数学.value_counts())

#分类统计
def func(score):
    if score >= 80:
        return  '优秀'
    elif score >=70:
        return "良"
    elif score >=60:
        return "及格"
    else:
        return "不及格"

csv['数学分类'] = csv.数学.map(func)
print(csv)


def func(number):
    return  number +10
#等价于 匿名函数
func = lambda number:number+10

#applymap 对dataframe中所有数据进行操作的函数
csv.applymap(lambda x : str(x) + '**')
print(csv)

#apply根据多列生成一个新列的操作

csv['新分数'] = csv.apply(lambda x: x.数学 + x.语文, axis=1)
print(csv)
 序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
<class 'pandas.core.frame.DataFrame'>
Index(['序号', '姓名', '性别', '语文', '数学', '英语', '地理', '化学', '生物'], dtype='object')
RangeIndex(start=0, stop=4, step=1)
序号      2
姓名     张三
性别      男
语文    100
数学     98
英语     96
地理     88
化学     65
生物     96
Name: 1, dtype: object
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
0   1  高莎莎  女  100  88  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
   序号   姓名 性别   语文  数学  英语  地理  化学  生物
2   3   李四  男  100  78  96  88  65  96
0   1  高莎莎  女  100  88  96  88  65  96
3   4   王五  男  100  90  96  88  65  96
1   2   张三  男  100  98  96  88  65  96
序号      2
姓名     张三
性别      男
语文    100
数学     98
英语     96
地理     88
化学     65
生物     96
Name: 1, dtype: object
78    1
90    1
98    1
88    1
Name: 数学, dtype: int64
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类
0   1  高莎莎  女  100  88  96  88  65  96   优秀
1   2   张三  男  100  98  96  88  65  96   优秀
2   3   李四  男  100  78  96  88  65  963   4   王五  男  100  90  96  88  65  96   优秀
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类
0   1  高莎莎  女  100  88  96  88  65  96   优秀
1   2   张三  男  100  98  96  88  65  96   优秀
2   3   李四  男  100  78  96  88  65  963   4   王五  男  100  90  96  88  65  96   优秀
   序号   姓名 性别   语文  数学  英语  地理  化学  生物 数学分类  新分数
0   1  高莎莎  女  100  88  96  88  65  96   优秀  188
1   2   张三  男  100  98  96  88  65  96   优秀  198
2   3   李四  男  100  78  96  88  65  96178
3   4   王五  男  100  90  96  88  65  96   优秀  190

你可能感兴趣的:(python)