pandas(数据)

pandas

数据读写

csv文件

pd.read_csv(filepath_or_buffer,[sep = ',',header = 'infer',names = None,index_col = None,encoding = None]):
"""
filepath_or_buffer:数据路径或缓存,缓冲区。当文件有中文,会有问题,可先用open打开文件,把打开的给他
sep:分隔符
header:列名称(默认第一行)
names:要使用的列名称
index_col:行标签
encoding:编码格式
"""

data.to_csv(path_or_buf.[sep = ',',columns = None,header,index,inder_label = None,mode = 'w',encoding = None]):
"""
header,index:默认为true
inder_label:索引名称
mode:写入模式
"""

excel

与上面类似

pd.read_excel(*args,**kwargs):  # 将文件读取到Pandas  DataFrame中
"""
sheet_name:工作表名称
"""

读的时候需依赖xlrd(要安装)

pd.to_excel

也可读其他文件

数据结构

很多很多

  • series:类似一维数组,有标签,索引。eg:a x\n b x\n c x\n d x\n,其中a,b,c,d就是索引
  • DataFrame:二维,即有行与列也有列索引
  • Panel:三维,有更多属性

Series

创建

pandas.Series(data,index,dtype,name,copy,fastpath)
"""
data:可以是数组和字典
index:索引值,要与数据长度相同
dtype:数据类型。一般得一样,不一样也不会报错,会混乱
"""
# 将数组/字典转换为Series
data = np.array(['a','b','c','d'])
s1 = pd.Series(data)

表现形式:索引在左边,值在右边,若无定义索引形式,会自动创建0-N-1

DataFrame

与Series类似,多一个columns列,copy,拷贝数据

data可为Series,数组,常量或类似列表的对象

指定索引与缺失值

若指定了列序列,列就会按照一定顺序排列

columns = ['A','B','C']

若传入的列在数据中找不到,就会生成NaN值

a = df3.drop(['a',axis = 0])  # 删除a行
b = df3.drop(['A',axis = 1])  # 删除A列

获取数据

  • 通过索引,返回一个Series
A = df1["A"]
"""
0    1.0
1    1.0
2    1.0
3    1.0
Nane:A,dtype:float64
"""

返回的Series拥有原D F相同的索引

  • ix和 iloc索引方式

ix:可通过行号和标签索引

iloc:只可通过行号

数据对齐

自动对齐时若有一个没有数据,则为NaN

映射

将函数应用到每一个行/列上

func = lanbda x:x.sum()  # 求和
df.apply(func)  # 将每列加起来

排序

对DF,可根据任意轴上的索引排序,默认升序,也可降序

f.sort_index(axis = 1,ascending = False)
# 根据一个列排序
f.sort_index(by = 'b')
# 根据多个列排序
f.sort_index(by = 'a','b')
# a列优先

DF常用操作

删行/列:df.drop()

合并:df1.append(df2)

还原索引:df.reset_index

(让索引变为数据中的一列)

posted @   valder-  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示