bg:被一些事情纠结了几天才缓过来,又开始学了。Pandas经常和numpy一起使用,也都大同小异。
#%%
import pandas as pd
import numpy as np
from numpy.conftest import dtype
from prometheus_client.samples import Timestamp
s = pd.Series([1,3,5, np.nan, 6])
s
datas = pd.date_range('20160101', periods=6) # panda中的日期序列
datas
df = pd.DataFrame(np.random.randn(6,4), index=datas, columns=list('ABCD')) # 定义六行四列,带上行名和列名
df
df1 = pd.DataFrame(np.arange(12).reshape((3,4))) # panda整成行列
df1
df2 = pd.DataFrame({
'A': 1., # 标量值会自动广播到所有行
'B': pd.Timestamp('20250304'), # 时间戳
'C': pd.Series(1, index=list(range(4)), dtype='float32'), # Series
'D': np.array([3]*4, dtype='int32'), # NumPy数组
'E': pd.Categorical(['aaa', 'bbb', 'ccc', 'ddd']), # 分类数据
'F': 'foo' # 字符串
}) # 键值对的形式构建表格
df2
df2.describe()
df2.T # 矩阵转置
df2.sort_index(axis=1, ascending=False) # 按列明倒叙排序
df2.sort_values(by=['E'], ascending=False) # 按照第E列进行排序
datas = pd.date_range('20160101', periods=6)
df = pd.DataFrame(np.arange(24).reshape(6, 4), index=datas, columns=list('ABCD'))
df
#%%
df.A
df.loc['20160101'] # loc应该就是这一行的单词
df.loc['20160101', ['A', 'B']] # 行和列的信息
df.iloc[3:5, 1:3] # 3-5行、4-6列 *&*注意它的下标算是比较奇葩的:0开始,左闭右开
#%%
df.iloc[[1,3,5], 1:3] # 逐个的筛选出来(1、3、5行,1-2列)
#%%
df[df.A > 8] # A这一列大于8的
#%%