English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas 基本方法实例
到目前为止,我们了解了三个Pandas DataStructures以及如何创建它们。由于它在实时数据处理中的重要性,因此我们将主要关注DataFrame对象,并讨论其他一些DataStructures。
方法 | 描述 |
axes | 返回行轴标签的列表 |
dtype | 返回对象的dtype。 |
empty | 如果Series为空,则返回True。 |
ndim | 根据定义返回基础数据的维数。 |
size | 返回基础数据中的元素数。 |
values | 将Series返回为ndarray。 |
head() | 返回前n行。 |
tail() | 返回最后n行。 |
import pandas as pd import numpy as np # 用100 랜덤 수를 사용하여 Series를 생성합니다. s = pd.Series(np.random.randn(4)) print(s)
실행 결과:
0 0.967853 1 -0.148368 2 -1.395906 3 -1.758394 dtype: float64
返回Series标签的列表
import pandas as pd import numpy as np # 用100 랜덤 수를 사용하여 Series를 생성합니다. s = pd.Series(np.random.randn(4)) print ("The axes are:") print(s.axes)
실행 결과:
The axes are: [RangeIndex(start=0, stop=4, step=1
위 결과는 0에서5(즉[0,1,2,3,4])。
불리한 값을 반환합니다. True는 객체가 비어 있다는 의미입니다
import pandas as pd import numpy as np # 用100 랜덤 수를 사용하여 Series를 생성합니다. s = pd.Series(np.random.randn(4)) print ("객체가 비어 있는가?") print(s.empty)
실행 결과:
객체가 비어 있는가? False
객체의 차원을 반환합니다. 정의에 따르면, Series는1D 데이터 구조이므로, 그것은 반환
import pandas as pd import numpy as np # 用4个随机数创建一个Series s = pd.Series(np.random.randn(4)) print s print ("객체의 차원:") print(s.ndim)
실행 결과:
0 0.175898 1 0.166197 2 -0.609712 3 -1.377000 dtype: float64 객체의 차원: 1
Series의 크기(길이)를 반환합니다.
import pandas as pd import numpy as np # 用4个随机数创建一个Series s = pd.Series(np.random.randn(2)) print s print ("객체의 크기:") print(s.size)
실행 결과:
0 3.078058 1 -1.207803 dtype: float64 객체의 크기: 2
Series 데이터를 배열 형태로 반환합니다.
import pandas as pd import numpy as np # 用4个随机数创建一个Series s = pd.Series(np.random.randn(4)) print s print ("실제 데이터 시리즈는:") print(s.values)
실행 결과:
0 1.787373 1 -0.605159 2 0.180477 3 -0.140922 dtype: float64 실제 데이터 시리즈는: [ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]
Series나 DataFrame 객체의 머리와 尾의 데이터를 보려면 head()과 tail() 메서드를 사용하세요.
head() 최대 n 행(観察索引値)을 반환합니다. 기본적으로 표시되는 요소 수는5하지만, 사용자 정의 숫자를 전달할 수 있습니다.
import pandas as pd import numpy as np # 用4个随机数创建一个Series s = pd.Series(np.random.randn(4)) print ("최초의 시리즈는:") print s print ("데이터 시리즈의 앞 두 행:") print(s.head(2))
실행 결과:
最初的系列是: 0 0.720876 1 -0.765898 2 0.479221 3 -0.139547 dtype: float64 데이터 시리즈의 앞 두 행: 0 0.720876 1 -0.765898 dtype: float64
tail() 최근 n 행 반환(인덱스 값을 확인하세요)。기본적으로 표시되는 요소 수는5하지만, 사용자 정의 숫자를 전달할 수 있습니다.
import pandas as pd import numpy as np # 用4个随机数创建一个Series s = pd.Series(np.random.randn(4)) print("最初的系列是:") print(s) print("数据序列的最后两行:") print(s)tail(2)
실행 결과:
最初的系列是: 0 -0.655091 1 -0.881407 2 -0.608592 3 -2.341413 dtype: float64 数据序列的最后两行: 2 -0.608592 3 -2.341413 dtype: float64
现在让我们了解什么是DataFrame基本功能。下表列出了有助于DataFrame基本功能的重要属性或方法。
属性/方法 | 描述 |
T | 行和列互相转换 |
axes | 返回以行轴标签和列轴标签为唯一成员的列表。 |
dtypes | 返回此对象中的dtypes。 |
empty | 如果NDFrame完全为空[没有项目],则为true;否则为false。如果任何轴的长度为0。 |
ndim | 轴数/数组尺寸。 |
shape | 返回表示DataFrame维度的元组。 |
size | NDFrame中的元素数。 |
values | NDFrame的数字表示。 |
head() | 返回前n行。 |
tail() | 返回最后n行。 |
下面我们创建一个DataFrame并查看上述属性的所有操作方式。
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print ("Our data series is:") print(df)
실행 결과:
Our data series is: 연령 이름 평점 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 # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print ("数据序列的转置是:") print(df.T)
실행 결과:
数据序列的转置是: 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 # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print ("行轴标签和列轴标签是:") print(df.axes)
실행 결과:
行轴标签和列轴标签是: [RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'], dtype='object')]
返回每一列的数据类型。
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print ("每列的数据类型如下:") print(df.dtypes)
실행 결과:
每列的数据类型如下: Age int64 Name object Rating float64 dtype: object
布尔值을 반환하여 객체가 비어 있는지 여부를 나타냅니다; True는 객체가 비어 있다는 의미입니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Object가 비어 있습니까?") print(df.empty)
실행 결과:
Object가 비어 있습니까? False
Object의 개수를 반환합니다. 정의에 따르면 DataFrame는2D object.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Our object is:") print df print("Object의 차원은:") print(df.ndim)
실행 결과:
Our object 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 Object의 차원은: 2
DataFrame의 차원을 나타내는 튜플을 반환합니다. 튜플(a, b)에서 a는 행 수, b는 열 수를 나타냅니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Our object is:") print df print("Object의 형상은:") print(df.shape)
실행 결과:
Our object is: 연령 이름 평점 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 Object의 형상은: (7, 3)
DataFrame에서의 요소 수를 반환합니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Our object is:") print df print("Our object의 요소 총 수는:") print(df.size)
실행 결과:
Our object is: 연령 이름 평점 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 Our object의 요소 총 수는: 21
DataFrame에서의 실제 데이터를 NDarray 형식으로 반환합니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Our object is:") print df print("Our data frame의 실제 데이터는:") print(df.values)
실행 결과:
Our object is: 연령 이름 평점 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 Our data frame의 실제 데이터는: [[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]]
DataFrame 객체의 머리와 尾을 보려면 head()와 tail() 메서드를 사용하세요. head()는 앞에 n개의 행을 반환합니다(인덱스 값을 참조하세요). 기본으로 표시되는 요소 수는5하지만, 사용자 정의 숫자를 전달할 수 있습니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print("Our data frame is:") print df print("The first two rows of the data frame is:") print(df.head(2))
실행 결과:
우리의 데이터 프레임은: 연령 이름 평점 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 데이터 프레임의 최초 두 행은: 연령 이름 평점 0 25 Tom 4.23 1 26 James 3.24
tail() 최근 n 행 반환(인덱스 값을 확인하세요)。기본적으로 표시되는 요소 수는5하지만, 사용자 정의 숫자를 전달할 수 있습니다.
import pandas as pd import numpy as np # Series 딕셔너리 생성 d = {'이름':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']), '연령':pd.Series([25,26,25,23,30,29,23]), '평점':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # DataFrame 생성 df = pd.DataFrame(d) print ("우리의 데이터 프레임은:") print df print ("데이터 프레임의 마지막 두 행은:") print(df.tail(2))
실행 결과:
우리의 데이터 프레임은: 연령 이름 평점 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 데이터 프레임의 마지막 두 행은: 연령 이름 평점 5 29 Smith 4.6 6 23 Jack 3.8