Pandas入门笔记

文章目录

pandas

pandas 和numpy的关系就像

字典和list的关系

s = pd.Series([-1,3,5,np.nan,9,12])

print(s)

dates = pd.date_range('20220101',periods=6)
print(dates)

df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['啊','对','对','对'])
print(df)

pandas 排序


df = pd.DataFrame(np.arange(12).reshape(3,4))
print(df)

df1 = pd.DataFrame({'1':2.5,
                    '2':pd.Timestamp('20220428'),
                    '3':np.array([7]*4,dtype=int),
                    '4':pd.Categorical(["hr","boss","emp","man"]),
                    '5':"default"
                    })
print(df1)

print(df1.dtypes)

print(df1.index)

print(df1.columns)

print(df1.values)

print(df1.describe())

print(df1.sort_index(axis=1,ascending=False))
print(df1.sort_index(axis=0,ascending=False))

print(df1.sort_values(by='4',ascending=False))

pandas选择指定数据


dates = pd.date_range('20220428',periods=6)
df = pd.DataFrame(np.arange(24).reshape(6,4),
                  index=dates,
                  columns=['a','b','c','d'])
print(df)
print(df.a)
print('不能说一模一样,简直就是毫无差别')
print(df['a'])

print(df.loc['20220501'])

print(df.loc[:,'a'])

print(df.loc['20220501',['b','c']])

print(df.iloc[0,1])

print(df.iloc[1:3,1:3])

print(df.iloc[1:4,[0,3]])

print(df.b>12)

print(df[df.c>12])

pandas改变指定位置的值


df.iloc[1,1] = 2
df.loc['20220501','c'] = '13a'
df.d[df.a>19] = 22

df['e'] = 'error'
print(df)

df.iloc[(3,2)] = np.nan

print(df.dropna(axis=1,how='any'))
print(df.dropna(axis=0,how='any'))
print(df.fillna(value=0))

print(df.isnull())

print(np.any(df.isnull()) == True)
print(np.any(df.isnull()))

pandas 处理文件


data  =  pd.read_csv("Student.csv",sep='\t')
print(data)
data.to_pickle("student.pickle")
print(data['Name'])

pandas 合并数据


df1 = pd.DataFrame(np.ones((3,4))*0,
                   columns=['a','b','c','d'])
df2 = pd.DataFrame(np.ones((3,4))*1,
                   columns=['a','b','c','d'])
df3 = pd.DataFrame(np.ones((3,4))*2,
                   columns=['a','b','c','d'])

res = pd.concat([df1,df2,df3],axis=0)

res = pd.concat([df1,df2,df3],axis=0,ignore_index=True)
print(res)

df1 = pd.DataFrame(np.ones((3,4))*0,
                   columns=['a','b','c','d'],
                   index=[1,2,3])
df2 = pd.DataFrame(np.ones((3,4))*1,
                   columns=['b','c','d','e'],
                   index=[2,3,4])
df3 = pd.DataFrame(np.ones((3,4))*2,
                   columns=['c','d','e','f'],
                   index=[3,4,5])

res = pd.concat([df1,df2])
print(res)
res = pd.concat([df1,df2],join='outer')
print(res)

res = pd.concat([df1,df2],join='inner',ignore_index=True)
print(res)

res = df1.append(df2,ignore_index=True)
print(res)

res = pd.concat([df1,df2,df3],axis=1)
print(res)

pandas Merge


left = pd.DataFrame({'key':['K0','K1','K2','K3'],
                     'A':['A0','A1','A2','A3'],
                     'B':['B0','B1','B2','B3']})
right = pd.DataFrame({'key':['K0','K1','K2','K3'],
                     'C':['C0','C1','C2','C3'],
                     'D':['D0','D1','D2','D3']})

res = pd.merge(left,right,on='key')
print(res)

left = pd.DataFrame({'key1':['K0','K0','K1','K2'],
                     'key2':['K0','K1','K0','K1'],
                     'A':['A0','A1','A2','A3'],
                     'B':['B0','B1','B2','B3']})
right = pd.DataFrame({'key1':['K0','K1','K1','K2'],
                      'key2':['K0',"K0","K0","K0"],
                     'C':['C0','C1','C2','C3'],
                     'D':['D0','D1','D2','D3']})

print(left)
print(right)
res = pd.merge(left,right,on=['key1','key2'])
print(res)

print(left)
print(right)

res = pd.merge(left,right,on=['key1','key2'],how='inner')
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='outer')
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='left')
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='right')
print(res)

res = pd.merge(left,right,on=['key1','key2'],how='inner',indicator=True)
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='outer',indicator=True)
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='left',indicator=True)
print(res)
res = pd.merge(left,right,on=['key1','key2'],how='right',indicator=True)
print(res)

boys = pd.DataFrame({'k':['K0','K1','K2'],
                     'age':[18,20,23]})
girls = pd.DataFrame({'k':['K0','K0','K3'],
                      'age':[24,25,26]})
print(boys)
print(girls)

res = pd.merge(boys,girls,on='k',suffixes=['_boys','_girls'],how='outer')
print(res)

pandas 画图


data = pd.DataFrame(np.random.randn(1000,4),
                 index=np.arange(1000),
                 columns=list("abcd"))
data = data.cumsum()
print(data.head())

ax = data.plot.scatter(x='a',y='b',color='blue')
data.plot.scatter(x='c',y='d',color='red',ax=ax)
plt.show()

Original: https://blog.csdn.net/weixin_43759910/article/details/124747555
Author: 皇棠
Title: Pandas入门笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/743248/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球