网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
obj1 = pd.Series({“Ohio”: 35000, “Oregon”: 16000, “Texas”: 71000, “Utah”: 5000})
print(obj1)
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
dtype: int64
obj2 = pd.Series({“California”: np.nan, “Ohio”: 35000, “Oregon”: 16000, “Texas”: 71000})
print(obj2)
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64
print(obj1 + obj2)
California NaN
Ohio 70000.0
Oregon 32000.0
Texas 142000.0
Utah NaN
dtype: float64
索引,切片
import pandas as pd
import numpy as np
s = pd.Series(np.array([1,2,3,4,5]), index=[‘a’, ‘b’, ‘c’, ‘d’, ‘e’])
print(s[1:])
b 2
c 3
d 4
e 5
dtype: int32
print(s[:-1])
a 1
b 2
c 3
d 4
dtype: int32
print(s[1:] + s[:-1])
a NaN
b 4.0
c 6.0
d 8.0
e NaN
dtype: float64
### DataFrame
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201229223933891.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NwbG5u,size_16,color_FFFFFF,t_70)
DataFrame 是由多种类型的列构成的二维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典。DataFrame 是最常用的 Pandas 对象,与 Series 一样,DataFrame 支持多种类型的输入数据:
一维 ndarray、列表、字典、Series 字典
二维 numpy.ndarray
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
frame = pd.DataFrame(data)
print(frame)
state year pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
指定排列顺序
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
#如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
如果传入的列在数据中找不到,就会产生NaN值
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
#如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
frame2 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’, ‘debt’], index=[‘one’, ‘two’, ‘three’, ‘four’, ‘five’])
print(frame2)
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.9 NaN
用Series或者字典生成DataFrame
import pandas as pd
import numpy as np
d = {‘one’: pd.Series([1., 2., 3.], index=[‘a’, ‘b’, ‘c’]),
‘two’: pd.Series([1., 2., 3., 4.], index=[‘a’, ‘b’, ‘c’, ‘d’])}
print(pd.DataFrame(d))
one two
a 1.0 1.0
b 2.0 2.0
c 3.0 3.0
d NaN 4.0
通过类似字典标记的方式或属性的方式,可以将DataFrame的列获取为一个Series
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
#如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
print(frame1[‘state’])
0 Ohio
1 Ohio
2 Ohio
3 Nevada
4 Nevada
列可以通过赋值的方式进行修改
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [
2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
frame1[‘pop’] = 5.
print(frame1)
year state pop
0 2000 Ohio 5.0
1 2001 Ohio 5.0
2 2002 Ohio 5.0
3 2001 Nevada 5.0
4 2002 Nevada 5.0
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [
2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
frame1[‘new’] = frame1[‘pop’] + 10
print(frame1)
year state pop new
0 2000 Ohio 1.5 11.5
1 2001 Ohio 1.7 11.7
2 2002 Ohio 3.6 13.6
3 2001 Nevada 2.4 12.4
4 2002 Nevada 2.9 12.9
import pandas as pd
import numpy as np
data = {‘state’: [‘Ohio’, ‘Ohio’, ‘Ohio’, ‘Nevada’, ‘Nevada’], ‘year’: [
2000, 2001, 2002, 2001, 2002], ‘pop’: [1.5, 1.7, 3.6, 2.4, 2.9]}
如果指定了列顺序,则DataFrame的列就会按照指定顺序进行排列
frame1 = pd.DataFrame(data, columns=[‘year’, ‘state’, ‘pop’])
print(frame1)
year state pop
0 2000 Ohio 1.5
1 2001 Ohio 1.7
2 2002 Ohio 3.6
3 2001 Nevada 2.4
4 2002 Nevada 2.9
frame1[‘new’] = frame1[‘pop’] + 10
frame1[‘newnew’] = np.arange(5.)
print(frame1)
year state pop new newnew
0 2000 Ohio 1.5 11.5 0.0
1 2001 Ohio 1.7 11.7 1.0
2 2002 Ohio 3.6 13.6 2.0
3 2001 Nevada 2.4 12.4 3.0
4 2002 Nevada 2.9 12.9 4.0
Pandas基础内容我学到这边,课程是在aistudio~
更多内容还是要去[Pandas中文网](https://bbs.csdn.net/topics/618668825):https://www.pypandas.cn/
![img](https://img-blog.csdnimg.cn/img_convert/460c0553b8891dedb8ab4a928e4de690.png)
![img](https://img-blog.csdnimg.cn/img_convert/a0de7ad15cfa67123c6d1de487987166.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**
.pypandas.cn/
[外链图片转存中...(img-hnu7R8Zr-1715696604215)]
[外链图片转存中...(img-BUGmQxOw-1715696604215)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**