在 pandas 中选择数据

面向 R 用户的 Python

Daniel Chen

Instructor

手动创建 DataFrame

df = pd.DataFrame({
            'A': [1, 2, 3],
            'B': [4, 5, 6], 
            'C': [7, 8, 9]}, 
            index = ['x', 'y', 'z'])

print(df)
    A     B     C
x     1     4     7
y     2     5     8
z     3     6     9
面向 R 用户的 Python
df = pd.DataFrame({
 'A': [1, 2, 3],
 'B': [4, 5, 6], 
 'C': [7, 8, 9]}, 
 index = ['x', 'y', 'z'])
df
   A  B  C
x  1  4  7
y  2  5  8
z  3  6  9
df['A']
x    1
y    2
z    3
Name: A, dtype: int64
df.A
x    1
y    2
z    3
Name: A, dtype: int64
df[['A', 'B']]
   A  B
x  1  4
y  2  5
z  3  6
面向 R 用户的 Python

按行子集

  • 行标签(loc)vs 行位置索引(iloc
  • Python 从 0 开始计数
面向 R 用户的 Python

按行子集 .iloc

df
   A  B  C
x  1  4  7
y  2  5  8
z  3  6  9
df.iloc[0]
A    1
B    4
C    7
Name: x, dtype: int64
df.iloc[[0, 1]]
   A  B  C
x  1  4  7
y  2  5  8
df.iloc[0, :]
A    1
B    4
C    7
Name: x, dtype: int64
df.iloc[[0, 1], :]
   A  B  C
x  1  4  7
y  2  5  8
面向 R 用户的 Python

按行子集 .loc

df
   A  B  C
x  1  4  7
y  2  5  8
z  3  6  9
df.loc['x']
A    1
B    4
C    7
Name: x, dtype: int64
df.loc[['x', 'y']]
   A  B  C
x  1  4  7
y  2  5  8
面向 R 用户的 Python
df
   A  B  C
x  1  4  7
y  2  5  8
z  3  6  9
df.loc['x', 'A']
1
df.loc[['x', 'y'], ['A', 'B']]
   A  B
x  1  4
y  2  5
面向 R 用户的 Python

条件子集

df[df.A == 3]
   A  B  C
z  3  6  9
df[(df.A == 3) | (df.B == 4)]
   A  B  C
x  1  4  7
z  3  6  9
面向 R 用户的 Python

属性

df.shape
(3, 2)
df.shape()
 --------------------------------------------------------------------
TypeError                          Traceback (most recent call last)
<ipython-input-17-0e566b70f572> in <module>()
<hr />-> 1 df.shape()

TypeError: 'tuple' object is not callable
面向 R 用户的 Python

Vamos praticar!

面向 R 用户的 Python

Preparing Video For Download...