存储看这一篇就够了

硬盘

SAS-SATA-SSD-SCSI-IDE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

磁盘分区工具和挂载

  • 两种分区类型
MBR分区
硬盘主引导记录MBR由4个部分组成
主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。
出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。
分区表(DPT,Disk Partition Table)含4个分区项,偏移地
址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA

GPT分区
GPT:GUID(Globals Unique Identifiers) partitiontable 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)
使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位
UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动
  • fdisk
需求:(https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_039_fdisk_gdisk_parted.html)
使用fdisk工具给/dev/sdb(100G)分区满足下面几个要求

3个主分区一个扩展分区
/dev/sdb1分区类型为Linux LVM,大小为30G
/dev/sdb2分区类型为swap,大小为20G
/dev/sdb3分区类型为Linux, 大小为10G
/dev/sdb5分区类型为linux,大小为10G
保留40G留作后用
---------------------------------------------------------------------------------------
[root@centos7 mnt]$ fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x2fd8d812.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +30G
Partition 1 of type Linux and of size 30 GiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 
First sector (62916608-209715199, default 62916608): 
Using default value 62916608
Last sector, +sectors or +size{K,M,G} (62916608-209715199, default 209715199): +20G
Partition 2 of type Linux and of size 20 GiB is set

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 
First sector (104859648-209715199, default 104859648): 
Using default value 104859648
Last sector, +sectors or +size{K,M,G} (104859648-209715199, default 209715199): +10G
Partition 3 of type Linux and of size 10 GiB is set

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
Selected partition 4
First sector (125831168-209715199, default 125831168): 
Using default value 125831168
Last sector, +sectors or +size{K,M,G} (125831168-209715199, default 209715199): 
Using default value 209715199
Partition 4 of type Extended and of size 40 GiB is set

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (125833216-209715199, default 125833216): 
Using default value 125833216
Last sector, +sectors or +size{K,M,G} (125833216-209715199, default 209715199): +10G
Partition 5 of type Linux and of size 10 GiB is set

Command (m for help): p

Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x2fd8d812

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    62916607    31457280   83  Linux
/dev/sdb2        62916608   104859647    20971520   83  Linux
/dev/sdb3       104859648   125831167    10485760   83  Linux
/dev/sdb4       125831168   209715199    41942016    5  Extended
/dev/sdb5       125833216   146804735    10485760   83  Linux

Command (m for help): t
Partition number (1-5, default 5): 1
Hex code (type L to list all codes): L  

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): t
Partition number (1-5, default 5): 2
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): p

Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x2fd8d812

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    62916607    31457280   8e  Linux LVM
/dev/sdb2        62916608   104859647    20971520   82  Linux swap / Solaris
/dev/sdb3       104859648   125831167    10485760   83  Linux
/dev/sdb4       125831168   209715199    41942016    5  Extended
/dev/sdb5       125833216   146804735    10485760   83  Linux
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
  • parted

parted每一步操作都是实时生效的,fdisk只有最后输入w保存后才生效。由于parted内建的mkfs还不够完善,所以完成以后我们可以使用quit命令退出parted并使用 系统的mkfs命令对分区进行格式化。使用fdisk -l命令打印分区表会出现警告信息,这是正常的。

使用parted分区的步骤
1. fdisk -l             ##查看一下当前的存储设备,这里可以看到新加入的磁盘,比如/dev/sdb
2. parted /dev/sdb                    ## 进入分区命令行模式,可以随时用help来查看命令用法
3. mklabel gpt            ##将MBR格式的磁盘格式化为GPT格式
4. mkpart primary 0 -1           ## 将整个磁盘化为一个分区,一般命名为/dev/sdb1
5. print             ##打印分区结果
6. quit       ## 退出分区命令行模式
7. mkfs.xfs /dev/sdb1             ##格式化分区为xfs文件系统格式(速度很快),也可以格式化为 mkfs.ext3
8. mount /dev/sdb1 /data                ## 将格式化好的分区挂载在/data目录
9. df -Th /data             ##  查看挂载情况
10.如果需要实现系统启动自挂载,则需要修改/etc/fstab文件
文件系统     挂载目录    文件系统格式     挂载时的可选参数   dump  pass
/dev/sdb1    /data       /xfs              defualts           0      0
 dump:表示该文件系统是否需要备份 1表示需要 0表示不需要
pass:表示文件系统检查的顺序 1最先检查 2 其次 0表示不需要检查

Redundant Arrays of Independent Disk

引言

独立磁盘构成的具有冗余能力的阵列;
磁盘阵列是由磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个次磁盘组合在一起,提升真个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(parity check)的观念,在数组中任意一个硬盘故障时,仍然读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

注:RAID可以预防数据丢失,但是它并不能保证你的数据不会丢失,所以大家使用RAID的同时还应该备份重要的数据

  • RAID的创建有两种方式: 软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡);软RAID在工作中用的比较少,但是可以帮助我们理清思路
  • 企业中使用最多的是:1、5、10。不过随着云的高速发展,供应商一般可以把硬件问题解决掉。
  • 基本思想L: 把好几块硬盘通过一定组合方式把它组合起来,成为一个新的磁盘阵列组,从而使它能够达到高性能磁盘的要求

三个关键技术:
1、镜像 - 提供了数据的安全性
2、chunk - 条带,块大小也可以说是条带的粒度,它的存在是为了提高I/O,提供了数据并发性
3、数据的校验:提供了数据的安全

RAID嵌套组合:

  • 10就是将镜像和条带进行两级组合的RAID级别,第一级是RAID1镜像对
  • RAID 0,1,5,10 的工作原理
  • RAID 0,1,5,10 搭建、使用、删除及注意事项

热插拔:HotSwap

  • 在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘

RAID0-6都是有的 只是被淘汰了

做硬件RAID,是在装系统前还是之后?

  • 先做阵列才装系统,服务器启动时,有显示进入配置RAID的提示 有配置截面,硬RAID:需要有RAID卡,我们的磁盘是接在RAID卡的,由它统一管理和控制,数据也由它来进行分配和维护;它有自己的cpu 处理速度快

思想:用RAID卡来解耦CPU 专门的人干专门的事儿

软RAID:通过操作系统实现:

  • Linux 内核中有一个md(multiple devices)模块在底层管理RAID设备,
  • 工具mdadm,是linux下用于创建和管理软件RAID的命令

在这里插入图片描述

RAID5需要3块盘,那么使用4块盘,可以做raid5么?当然是可以的
奇偶校验信息的作用:异或运算
当一个磁盘数据发生损坏后,利用剩下的数据和相应的就校验信息去回复被损坏的数据

在这里插入图片描述raid0 chunk卷
raid1 镜像卷
raid5 n-1/n 奇偶校验镜像卷
raid10 两级组合(镜像+条带)

RAID0

创建 mdadm -C -V /dev/md0 -l 0 -n 2 /dev/sda /dev/sdb
对创建的RAID0进行文件系统创建 - 格式化xfs mkfs.xfs /dev/md0
挂载 mkdir raid0 && mount /dev/md0 /raid0
看一下 df -Th /raid0
开机自动挂载 blkid /dev/md0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

RAID1

创建 mdadm -C -V /dev/md1 -l 1 -n 2 -x 1 /dev/sd[a,b,c]
模拟故障盘 mdadm /dev/md1 -f /dev/sda
出现故障后更新配置 mdadm -Dsv > /etc/mdadm.conf
什么时候会用到raid1 镜像卷的特性??
重要数据 数据库 系统盘
移除损坏的设备:mdadm -r /dev/md1 /dev/sda
RAID5:
实验:
1、创建RAID5,添加1个热备盘,指定chunk大小为32K
-x 或 --spare-devicds= 指定阵列中备用盘的数量
-c 或 --chunk= 设定阵列的块 chunk 块大小,单位为 KB
2、停止阵列,重新激活阵列
3、使用热备盘,扩展阵列容量,从3个磁盘扩展到4个
4、硬盘损坏,修复添加

RAID5

创建 mdadm -C -V /dev/md5 -l 5 -n 3 -x 1 -c 32 /dev/sd{g,h,i,j}
查看 mdadm -D /dev/md5
停止 mdadm -Dsv > /etc/mdam.conf #停止前一定要先保存配置文件
mdadm -S /dev/md5 #停止前,请确认数据已经同步完
激活 mdadm -As
扩容 mdadm -G /dev/md5 -n 4 -c 32
-G 或 --grow 改变阵列大小或形态
mdadm -Dsv > /etc/mdadm.conf #保存配置文件
再次查看时发现磁盘没有变大,是因为一致性策略 数据同步完成 状态才会改变
注意: 阵列只有在正常状态下才能扩容,降级及重构时不允许扩容
RAID5只能增加不能减少
RAID1既能增加又能减少

在这里插入图片描述

RAID10

创建 mdadm -C -V /dev/md10 -l 10 -n 4 /dev/sdk[1-4]
查看 cat /proc/mdstat

在这里插入图片描述
在这里插入图片描述

RAID磁盘失效处理

在这里插入图片描述

删除RAID中的所有信息(拿RAID0举例子)

1、先卸载
2、mdadm -Ss
3、rm -rf /etc/mdadm.conf
4、mdadm --zero-superblock /dev/sdb

企业中硬RAID5的配置

1、为什么先把两块磁盘做RAID1,然后把后面的磁盘都做成RAID5
RAID1是镜像卷 安装系统用 一块坏了 不影响系统运行 RAID5保存数据
如果服务器主板不支持硬RAID,可以用RAID卡

LVM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建 : pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
删除:  pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3
创建vg卷组,把/dev/sdb1、/dev/sdb2两个pv加入到vg中: vgcreate vg_data /dev/sdb1 /dev/sdb2
扩容vg,把新创建的pv(/dev/sdb3)添加到现有的vg_data卷组中:vgextend vg_data /dev/sdb3
减少vg,把物理卷/dev/sdb3从vg中删除:vgreduce vg_data /dev/sdb3
删除vg卷组:vgremove vg_data
创建逻辑卷:lvcreate -L 10G -n lv1 vg_data  /  lvcreate -l 100%free -n lv2 vg_data
格式化:mkfs.ext4 /dev/mapper/vg_data-lv1 (不同类型的有相应命令)
创建目录并挂载:mkdir /data  && mount /dev/mapper/vg_data-lv1 /data/
删除逻辑卷:lvremove /dev/vg_data/lv2
扩容逻辑卷:lvextend -L +10G /dev/vg_data/lv1   /   lvextend -l +100%free /dev/vg_data/lv1
调整逻辑卷大小,可增可减: lvresize -L 40G /dev/vg_data/lv1
(扩容/调整)刷新挂载点:resize2fs /dev/mapper/vg_data-lv1  /  (centos7)xfs_growfs /dev/mapper/vg_data-lv1
  • 场景一:parted 分区并加入lvm
[root@localhost ~]# parted /dev/xvdb 
GNU Parted 3.1
使用 /dev/xvdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
错误: /dev/xvdb: unrecognised disk label
Model: Xen Virtual Block Device (xvd)                                     
Disk /dev/xvdb: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 
(parted) mklabel gpt
(parted) print 
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  标志

(parted) mkpart primary 0% 100%
(parted) print                                                            
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name     标志
 1      1049kB  215GB  215GB               primary

(parted) quit

[root@localhost ~]# pvcreate /dev/xvdb1 
  Physical volume "/dev/xvdb1" successfully created.
[root@localhost ~]# vgextend centos /dev/xvdb1 
  Volume group "centos" successfully extended
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-home
  Size of logical volume centos/home changed from 65.00 GiB (16640 extents) to <265.00 GiB (67839 extents).
  Logical volume centos/home successfully resized.
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  7.3G   43G   15% /
devtmpfs                  13G     0   13G    0% /dev
tmpfs                     13G     0   13G    0% /dev/shm
tmpfs                     13G  8.8M   13G    1% /run
tmpfs                     13G     0   13G    0% /sys/fs/cgroup
/dev/xvda1              1014M  143M  872M   15% /boot
/dev/mapper/centos-home   65G   62G  3.9G   95% /var
tmpfs                    2.6G     0  2.6G    0% /run/user/0
[root@localhost ~]# xfs_growfs /dev/mapper/centos-home 
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=4259840 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=17039360, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=8320, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 17039360 to 69467136
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  7.3G   43G   15% /
devtmpfs                  13G     0   13G    0% /dev
tmpfs                     13G     0   13G    0% /dev/shm
tmpfs                     13G  8.8M   13G    1% /run
tmpfs                     13G     0   13G    0% /sys/fs/cgroup
/dev/xvda1              1014M  143M  872M   15% /boot
/dev/mapper/centos-home  265G   62G  204G   24% /var
tmpfs                    2.6G     0  2.6G    0% /run/user/0

容器的overlay文件系统

overlay

对象存储

在存储领域内,主要包括三大存储方式,分别为文件系统、块存储与对象存储。
其中对象存储(Object-based Storage)是一种新的网络存储架构,同时兼具块存储高速直接访问磁盘特点及文件系统的分布式共享特点,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构,集中了块存储的高速与文件存储利于共享的特点。
目前应用最为广泛的两大对象存储为S3与Swift。其中,S3即Simple Storage Service简单存储服务;
Swift是openstack开源云计算项目的子项目之一,也是一种对象存储

对象存储是一种将数据作为对象进行管理的计算机数据存储体系结构,与其他存储体系结构(例如将数据作为文件层级管理的文件系统)以及将数据作为块和扇区内的块进行管理的块存储相对。每个对象通常包括数据本身,可变数量的元数据和全局唯一标识符。

分布式存储

分布式存储的原理,安装以及应用。分布式存储Ceph的特点,Ceph的核心组件,Ceph存储的原理和企业级应用项目。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

粗略性能

  • Portable Operating System Interface,缩写为POSIX
  • NVMe的全称是Non-Volatile Memory Express
1、机械硬盘读bai写速度平均60--du-80M每秒。

2、固态硬盘不同品牌型号之zhi间,平均大约在150---300M每秒。

3、5400转的笔记本硬盘:50-90MB每秒。

4、7200转的台式机硬盘:90-190MB每秒。

5、固态硬盘的读写速度可以达到500MB/s。

因为NVMe的出现,读带宽从500MB/s提高到了3200MB/s,写带宽从400MB/s提高到了1200MB/s左右

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas 是一个强大的 Python 库,专用于数据处理和分析。它提供了一种高效、灵活的方式来操作和管理数据集,并支持一系列数据结构如 Series 和 DataFrame。 ### 什么是 Series? Series 类似于一维数组,可以包含任何类型的条目,包括数字、字符串、日期等。每个元素都有一个对应的索引值,这使得对数据进行基于位置的操作变得简单易行。 ### 什么是 DataFrame? DataFrame 可以视为二维表格,类似于 SQL 数据库中的表或 Excel 的工作表。它可以容纳多种类型的数据并存储在不同的列中,而行则代表不同的观测结果或记录。DataFrame 提供了丰富的函数来进行数据清洗、转换以及数据分析。 ### 基本操作: #### 加载数据: ```python import pandas as pd # 从 CSV 文件加载数据 data = pd.read_csv('example.csv') ``` #### 查看数据概览: ```python print(data.head()) # 显示前五行 print(data.describe()) # 描述性统计信息 ``` #### 按条件筛选: ```python filtered_data = data[data['column_name'] > value] ``` #### 数据排序: ```python sorted_data = data.sort_values(by='column_name', ascending=False) ``` #### 数据分组与聚合: ```python grouped = data.groupby('category_column').sum() # 根据类别求和 ``` #### 合并数据框: ```python combined_data = pd.concat([df1, df2], axis=0) # 横向合并 merged_df = pd.merge(df1, df2, on='id') # 内连接合并 ``` ### 学习 Pandas 的资源: 1. **官方文档**:访问 [pandas.dev](https://pandas.pydata.org/pandas-docs/stable/),这里有详细的操作指南、API 文档和示例代码。 2. **教程网站**:[Real Python](https://realpython.com/) 和 [DataCamp](https://www.datacamp.com/courses/intro-to-pandas-in-python) 提供了全面的学习路径,适合初学者到高级用户。 3. **在线课程**:Coursera、Udemy 等平台上有专门针对 Pandas 的课程,涵盖了基础到进阶的所有内容。 4. **社区与论坛**:加入如 Stack Overflow 或者 r/pandas 在 Reddit 上的讨论区,可以在遇到问题时获得即时的帮助和支持。 通过以上基本知识的学习,你可以有效地利用 Pandas 进行数据预处理、探索性数据分析(EDA)、建模和其他数据分析任务。不断实践和应用是掌握 Pandas 最有效的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值