扫码一下
查看教程更方便
本章节我们介绍 DataFrame 基本功能。DataFrame 对象在实时数据处理中很重要。
下面是Series基本功能的列表
序号 | 功能 | 描述 |
---|---|---|
1 | T | 转置行和列。 |
2 | axes | 返回以行轴标签和列轴标签作为唯一成员的列表。 |
3 | dtypes | 返回此对象中的 dtype。 |
4 | empty | 如果 NDFrame 完全为空 [无项目],则为真;或者任何轴的长度为 0也为真。 |
5 | ndim | 轴数/数组维度。 |
6 | shape | 返回一个表示 DataFrame 维度的元组。 |
7 | size | NDFrame 中的元素数。 |
8 | values | NDFrame 的 Numpy 表示。 |
9 | head() | 返回前 n 行。 |
10 | tail() | 返回最后 n 行。 |
现在让我们创建一个 DataFrame,看看上面提到的属性是怎样的效果。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("Our data is:")
print(df)
运行结果如下
Our data is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
返回 DataFrame 的转置。行和列将互换。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The transpose of the data series is:")
print(df.T)
运行结果如下
The transpose of the data series is:
0 1 2 3 4 5 6
Age 25 26 25 23 30 29 23
Name Tom James Ricky Vin Steve Smith Jack
Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8
返回行轴标签和列轴标签的列表。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("Row axes labels and column axes labels are:")
print(df.axes)
运行结果如下
Row axes labels and column axes labels are:
[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'], dtype='object')]
返回每列的数据类型。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The data types of each column are:")
print(df.dtypes)
运行结果如下
The data types of each column are:
Age int64
Name object
Rating float64
dtype: object
返回表示对象是否为空的布尔值;True 表示对象为空。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("Is the object empty?")
print(df.empty)
运行结果如下
Is the object empty?
False
返回对象的维数。根据定义,DataFrame 是一个 2D 对象。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The dimension of the object is:")
print(df.ndim)
运行结果如下
The dimension of the object is:
2
返回一个表示 DataFrame 维度的元组。元组 (a,b),其中 a 表示行数,b表示列数。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The shape of the object is:")
print(df.shape)
运行结果如下
The shape of the object is:
(7, 3)
返回 DataFrame 中的元素数。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The total number of elements in our object is:")
print(df.size)
运行结果如下
The total number of elements in our object is:
21
将 DataFrame 中的实际数据作为NDarray 返回。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The actual data in our data frame is:")
print(df.values)
运行结果如下
The actual data in our data frame is:
[[25 'Tom' 4.23]
[26 'James' 3.24]
[25 'Ricky' 3.98]
[23 'Vin' 2.56]
[30 'Steve' 3.2]
[29 'Smith' 4.6]
[23 'Jack' 3.8]]
head()返回前n行(观察索引值)。如果没有传递值,则默认显示的元素个数为5。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The first two rows of the data frame is:")
print(df.head(2))
运行结果如下
The first two rows of the data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
tail()返回最后n行。如果没有传递值,则默认显示的元素个数为5。
import pandas as pd
import numpy as np
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
df = pd.DataFrame(d)
print ("The last three rows of the data frame is:")
print df.tail(3)
运行结果如下
The last three rows of the data frame is:
Age Name Rating
4 30 Steve 3.2
5 29 Smith 4.6
6 23 Jack 3.8