IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习之:pandas中的注意事项 -> 正文阅读

[Python知识库]Python学习之:pandas中的注意事项

df[“column”] 和 df.column 的区别

import numpy as np
import pandas as pd
columns = ["name","id"]
names = ["wangfang","zhangsan","jeff","peter","hell"]
ids = [i** 2 for i in range(5)]

df = pd.DataFrame(data=np.array([names,ids]).T,columns=columns)
df
nameid
0wangfang0
1zhangsan1
2jeff4
3peter9
4hell16
  • 通过 df.column 和 df[“column”] 的方式都可以得到列值
  • 但是 df.column 的方式有限制条件:那就是 column 的名称必须是有效的

有效的列名演示

df.name
0    wangfang
1    zhangsan
2        jeff
3       peter
4        hell
Name: name, dtype: object
df["name"]
0    wangfang
1    zhangsan
2        jeff
3       peter
4        hell
Name: name, dtype: object

无效列名演示

series_ = pd.Series([24,38,66,52,31])
df["年龄~是"]= series_
df
nameid年龄~是
0wangfang024
1zhangsan138
2jeff466
3peter952
4hell1631
# 这个时候就不能通过 df.column 的方式得到此列的数据了
df["年龄~是"]
0    24
1    38
2    66
3    52
4    31
Name: 年龄~是, dtype: int64

df.column 不能创建列也不能修改df

# 用这种方式可以新建,也可以批量修改列值
df["add"] = [1,2,3,4,5]
df
nameid年龄~是add
0wangfang0241
1zhangsan1382
2jeff4663
3peter9524
4hell16315
df["add"][0]= 100
df
D:\Anaconda3\envs\data\lib\site-packages\ipykernel_launcher.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  """Entry point for launching an IPython kernel.
nameid年龄~是add
0wangfang024100
1zhangsan1382
2jeff4663
3peter9524
4hell16315
# 用属性得到的是拷贝,不能对原 df 进行修改,也不能新建列
# 不能直接修改 df
df.add = [1,6,4,2,2]
df.add[0] = 10

# 不能创建新列
df.add_ = [0,0,0,0,0]
df
nameid年龄~是add
0wangfang024100
1zhangsan1382
2jeff4663
3peter9524
4hell16315

index 可重复不可修改

index 是可重复的

data = np.array([1,2,4,5,8])
series = pd.Series(data=data,index=['a','a','b','c','c'])
series
a    1
a    2
b    4
c    5
c    8
dtype: int32
series["a"]
a    1
a    2
dtype: int32

index 是不可以单独修改的

series.index[0] = "4"
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-22-a68b0d9a21b2> in <module>
----> 1 series.index[0] = "4"


D:\Anaconda3\envs\data\lib\site-packages\pandas\core\indexes\base.py in __setitem__(self, key, value)
   4082 
   4083     def __setitem__(self, key, value):
-> 4084         raise TypeError("Index does not support mutable operations")
   4085 
   4086     def __getitem__(self, key):


TypeError: Index does not support mutable operations

index 可以批量替换

  • 但是要保证给出的 index 数组和原数据长度一致
  • 通过 reindex 方法进行批量替换则不需要保持数据长度一致;因为不存在的项会按照 NAN 值填补

series.index = [str(i) for i in range(5)]
series
0    1
1    2
2    4
3    5
4    8
dtype: int32
series.reindex([str(i) for i in range(6)])
0    1.0
1    2.0
2    4.0
3    5.0
4    8.0
5    NaN
dtype: float64
  • 当然这种 NaN 值可以用 method 中的方法进行填补,选择 ffill 就是用前一个值进行填补
series.reindex([str(i) for i in range(6)],method="ffill")
0    1
1    2
2    4
3    5
4    8
5    8
dtype: int32

reindex 的常用参数

  • method:插值的方式 “ffill” “bfill” 前项填充和后项填充
  • fill_value:用某个特殊值进行填充
  • limit: 前项或者后项填充时所需填充的最大尺寸间隙
  • tolerance: 前项或者后项填充时,所需填充的不精确匹配下的最大尺寸间隙
  • level
  • copy

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:32:43  更:2022-02-22 20:34:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:55:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码