我的pandas

1.创建series

2.创建dataframe

import numpy as np
import pandas as pd
a=np.random.randint(0,10,size=(5,4))
b=pd.DataFrame(a,columns=['a','b','c','d'],index=[1,2,3,4,5])
print(b['a']) #指定列
print(b.loc[[1,3]]) #指定行
import numpy as np
import pandas as pd
s1=pd.Series(range(10),index=range(10))
s2=pd.Series(range(12),index=range(12))
print(s1.add(s2,fill_value=-1))  # s1+s2 (对于s1来说,没有的值填充为-1,即-1+s2)
print(s1.sub(s2,fill_value=-1))  # s1-s2  (对于s1来说,没有的之填充为-1,即-1-s2)
import numpy as np
import pandas as pd
a=pd.DataFrame(np.random.randn(3,4))
print(a)
print(a.apply(lambda x:x.max(),axis=1))  #按行取最大值
print(a.apply(lambda x:x.max(),axis=0))  #按列取最大值
c=a.applymap(lambda x:'%.2f'%x)          #每一个值都应用
import numpy as np
import pandas as pd
s1=pd.Series(np.random.randint(0,10,size=10),index=np.random.randint(0,10,size=10))
print(s1)
"""
5    0
8    2
8    6
8    4
6    8
0    0
3    2
9    5
8    2
1    3
"""
print(s1.sort_index())  #按数组的下标排序
"""
0    0
1    3
3    2
5    0
6    8
8    2
8    6
8    4
8    2
9    5
"""
print(s1.sort_values())   # 按数组的值排序
"""
5    0
0    0
8    2
3    2
8    2
1    3
8    4
9    5
8    6
6    8
"""
import numpy as np
import pandas as pd
s1=pd.DataFrame([[1.,2.,3.],[2.,np.nan,3.],[-1.,np.nan,0.]])
print(s1.isnull())   #是否为nan
"""0      1      2
0  False  False  False
1  False   True  False
2  False   True  False"""
print(s1.dropna(axis=0)) #把nan所在的行删去  删去列为axis=1
"""0    1    2
0  1.0  2.0  3.0
""" 
print(s1.fillna(0))  #把nan填充为0
"""0    1    2
0  1.0  2.0  3.0
1  2.0  0.0  3.0
2 -1.0  0.0  0.0
"""
import numpy as np
import pandas as pd
s1=pd.DataFrame(np.random.randint(0,12,size=12),index=[['a','a','a','b','b','b','c','c','c','d','d','d'],[0,1,2,0,1,2,0,1,2,0,1,2]])
print(s1)
"""0
a 0   51   22   2
b 0   61   72   6
c 0   61   62   4
d 0   91   32  10
"""

3.删除行或列

import pandas as pd
data=pd.read_excel('C:/Users/windows11/OneDrive/桌面/新建 Microsoft Excel 工作表.xlsx',sheet_name='Sheet1')
print(data)
"""月份  语文  数学  英语
0   1  60  16  55
1   2  70  99  13
2   3  90  74  47
3   4  10  68  76
4   5  15  54  58
5   6  30  52  90
"""
data1=data.drop(0)   #默认删除行
print(data1)
"""月份  语文  数学  英语
1   2  70  99  13
2   3  90  74  47
3   4  10  68  76
4   5  15  54  58
5   6  30  52  90
"""
data2=data.drop('语文',axis=1)   #删除列
print(data2)
"""月份  数学  英语
0   1  16  55
1   2  99  13
2   3  74  47
3   4  68  76
4   5  54  58
5   6  52  90
"""
data3=data.drop(data[(data['数学']<=60)].index)   #删除数学成绩小于等于60的行
print(data3)
"""月份  语文  数学  英语
1   2  70  99  13
2   3  90  74  47
3   4  10  68  76
"""

4.查询信息

import pandas as pd
data=pd.read_excel('C:/Users/windows11/OneDrive/桌面/新建 Microsoft Excel 工作表.xlsx',sheet_name='Sheet1')
print(data)
"""月份  语文  数学  英语
0   1  60  16  55
1   2  70  99  13
2   3  90  74  47
3   4  10  68  76
4   5  15  54  58
5   6  30  52  90
"""
data1=data['语文'].unique()  #查看语文这一列有那些数据
print(data1)
"""
[60 70 90 10 15 30]
"""
data2=data['数学'].value_counts()  #统计数学成绩每一个数据的个数
print(data2)
"""
54    1
68    1
99    1
74    1
52    1
16    1
"""
data3=data.query('英语>=60')   #查询英语成绩大于等于60的行 query里面是一个字符串
print(data3)
"""月份  语文  数学  英语
3   4  10  68  76
5   6  30  52  90
"""

5.排序

import pandas as pd
data=pd.read_excel('C:/Users/windows11/OneDrive/桌面/新建 Microsoft Excel 工作表.xlsx',sheet_name='Sheet1')
print(data)
"""月份  语文  数学  英语
0   1  60  16  55
1   2  70  99  13
2   3  90  74  47
3   4  10  68  76
4   5  15  54  58
5   6  30  52  90
"""
data1=data.sort_values('语文')  #根据语文成绩升序
print(data1)
"""月份  语文  数学  英语
3   4  10  68  76
4   5  15  54  58
5   6  30  52  90
0   1  60  16  55
1   2  70  99  13
2   3  90  74  47
"""
data2=data.sort_values('语文',ascending=False)  #根据语文成绩降序
print(data2)
"""月份  语文  数学  英语
2   3  90  74  47
1   2  70  99  13
0   1  60  16  55
5   6  30  52  90
4   5  15  54  58
3   4  10  68  76
"""

6.关于时间的

7.随机取出矩阵中列

import numpy as np
import pandas as pd
a=np.random.randint(0,100,size=(10,10))
a=pd.DataFrame(a)
print(a)
"""0   1   2   3   4   5   6   7   8   9
0  61  19  22  63  26  58  52  34  80  14
1  60  92  13  84  41  61  30  69   8  97
2  50  82  16  37  84  17  13  73  92  55
3  44  67   6  57  40  52  13  25  33   8
4  38  86  93  95  82  23  81  39  42  99
5  49  21  78  78  72  69  74  13  39  27
6  69   4  16  93   9  73   2  60  41  31
7  48  78  76  28  23  89  81  68  64  15
8  20  35  47  73  33  49  82  97  13  16
9  24  93   6  74  43  38  78  44  82  44
"""
train_data=a.sample(frac=0.8)
print(train_data)
"""0   1   2   3   4   5   6   7   8   9
8  20  35  47  73  33  49  82  97  13  16
4  38  86  93  95  82  23  81  39  42  99
3  44  67   6  57  40  52  13  25  33   8
2  50  82  16  37  84  17  13  73  92  55
6  69   4  16  93   9  73   2  60  41  31
9  24  93   6  74  43  38  78  44  82  44
5  49  21  78  78  72  69  74  13  39  27
0  61  19  22  63  26  58  52  34  80  14
"""
test_data=a.drop(train_data.index,axis=0)
print(test_data)
"""0   1   2   3   4   5   6   7   8   9
1  60  92  13  84  41  61  30  69   8  97
7  48  78  76  28  23  89  81  68  64  15
"""


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部