当前位置: 代码迷 >> 综合 >> Python 学习Pandas, 第 4 课
  详细解决方案

Python 学习Pandas, 第 4 课

热度:34   发布时间:2024-02-09 07:29:04.0

关注微信公共号:小程在线

关注CSDN博客:程志伟的博客

 

完整的脚本在公共号上

 

Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 7.12.0 -- An enhanced Interactive Python.

 

# 导入需要的库

import pandas as pd
import sys

print('Python version ' + sys.version)
print('Pandas version: ' + pd.__version__)
Python version 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Pandas version: 1.0.1

 

# 我们的小数据集

d = [0,1,2,3,4,5,6,7,8,9]
# 创建一个 dataframe
df = pd.DataFrame(d)
df
Out[3]: 
0
0  0
1  1
2  2
3  3
4  4
5  5
6  6
7  7
8  8
9  9

 

# 我们把列名修改一下
df.columns = ['Rev']
df
Out[4]: 
Rev
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9

 

# 我们增加一列

df['NewCol'] = 5
df
Out[5]: 
Rev  NewCol
0    0       5
1    1       5
2    2       5
3    3       5
4    4       5
5    5       5
6    6       5
7    7       5
8    8       5
9    9       5

# 修改一下新增加的这一列的值

df['NewCol'] = df['NewCol'] + 1
df
Out[6]: 
Rev  NewCol
0    0       6
1    1       6
2    2       6
3    3       6
4    4       6
5    5       6
6    6       6
7    7       6
8    8       6
9    9       6

 

# 我们可以删除列
del df['NewCol']
df
Out[7]: 
Rev
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9

 

# 让我们增加几列。 当使用 dataframe 没有的列时, dataframe 自动增加这个新列
df['test'] = 3
df['col'] = df['Rev']
df
Out[8]: 
Rev  test  col
0    0     3    0
1    1     3    1
2    2     3    2
3    3     3    3
4    4     3    4
5    5     3    5
6    6     3    6
7    7     3    7
8    8     3    8
9    9     3    9

 

# 如果有需要, 可以改变索引(index)的名字

i = ['a','b','c','d','e','f','g','h','i','j']
df.index = i
df
Out[9]: 
Rev  test  col
a    0     3    0
b    1     3    1
c    2     3    2
d    3     3    3
e    4     3    4
f    5     3    5
g    6     3    6
h    7     3    7
i    8     3    8
j    9     3    9

 

#通过使用 *loc, 我们可以选择 dataframe 中的部分数据。
df.loc['a']
Out[10]: 
Rev     0
test    3
col     0
Name: a, dtype: int64

 

# df.loc[起始索引(包含):终止索引(包含)]

df.loc['a':'d']
Out[11]: 
Rev  test  col
a    0     3    0
b    1     3    1
c    2     3    2
d    3     3    3

 

# df.iloc[起始索引(包含):终止索引(不包含)]

df.iloc[0:3]
Out[12]: 
Rev  test  col
a    0     3    0
b    1     3    1
c    2     3    2

# 选择 top-N 个记录 (默认是 5 个)
df.head()
Out[16]: 
Rev  test  col
a    0     3    0
b    1     3    1
c    2     3    2
d    3     3    3
e    4     3    4

# 选择 bottom-N 个记录 (默认是 5 个)

df.tail()
Out[17]: 
Rev  test  col
f    5     3    5
g    6     3    6
h    7     3    7
i    8     3    8
j    9     3    9

  相关解决方案