import pandas as pd
data = {
'class':['一班','二班','三班'],
'student':['小明','小红','小华'],
'score':[70.0,80.0,90.0],
}
frame = pd.DataFrame(data, columns=['student','score','class'],index=['老大','老二','老三'])
frame
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
老三 | 小华 | 90.0 | 三班 |
frame.index
Index(['老大', '老二', '老三'], dtype='object')
frame2 = pd.DataFrame(range(5),index=['a','b','c','a','c'])
frame2
frame3 = frame.reindex(['老大', '老二', '老三','老四'])
frame3
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
老三 | 小华 | 90.0 | 三班 |
老四 | NaN | NaN | NaN |
frame4 = frame.reindex(['老大', '老二', '老三','老四'],fill_value=0)
frame4
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
老三 | 小华 | 90.0 | 三班 |
老四 | 0 | 0.0 | 0 |
columns = ['学生','分数','class']
frame.reindex(columns=columns)
| 学生 | 分数 | class |
---|
老大 | NaN | NaN | 一班 |
老二 | NaN | NaN | 二班 |
老三 | NaN | NaN | 三班 |
frame.drop('老三')
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
frame.drop('class',axis=1)
| student | score |
---|
老大 | 小明 | 70.0 |
老二 | 小红 | 80.0 |
老三 | 小华 | 90.0 |
索引方法loc&iloc
data.loc[行索引名,列索引名]
data.iloc[行数字,列数字] 从0开始
frame.loc['老大','score']
70.0
frame.iloc[2,1]
90.0
函数用法
f = lambda x: x
frame['score'].apply(f)
老大 70.0
老二 80.0
老三 90.0
Name: score, dtype: float64
frame.sort_index()
| student | score | class |
---|
老三 | 小华 | 90.0 | 三班 |
老二 | 小红 | 80.0 | 二班 |
老大 | 小明 | 70.0 | 一班 |
frame.sort_index(axis=1,ascending=False)
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
老三 | 小华 | 90.0 | 三班 |
frame.sort_values(by = 'score')
| student | score | class |
---|
老大 | 小明 | 70.0 | 一班 |
老二 | 小红 | 80.0 | 二班 |
老三 | 小华 | 90.0 | 三班 |
描述统计方法
data = {
'class':['一班','二班','三班'],
'student':['小明','小红','小华'],
'score':[70.0,80.0,90.0],
'age':[5,7,9],
}
frame = pd.DataFrame(data, columns=['student','score','class','age'],index=['老大','老二','老三'])
frame.describe()
| score | age |
---|
count | 3.0 | 3.0 |
mean | 80.0 | 7.0 |
std | 10.0 | 2.0 |
min | 70.0 | 5.0 |
25% | 75.0 | 6.0 |
50% | 80.0 | 7.0 |
75% | 85.0 | 8.0 |
max | 90.0 | 9.0 |
frame.info()
<class 'pandas.core.frame.DataFrame'>
Index: 3 entries, 老大 to 老三
Data columns (total 4 columns):
student 3 non-null object
score 3 non-null float64
class 3 non-null object
age 3 non-null int64
dtypes: float64(1), int64(1), object(2)
memory usage: 120.0+ bytes
frame.count()
student 3
score 3
class 3
age 3
dtype: int64
frame.corr()
| score | age |
---|
score | 1.0 | 1.0 |
age | 1.0 | 1.0 |
frame.cov()
| score | age |
---|
score | 100.0 | 20.0 |
age | 20.0 | 4.0 |