文章目录
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/
转载文章受原作者版权保护。转载请注明原作者出处!