赞
踩
- dict = {'a': 0, 'b': 1, 'c': 2}
- df = pd.Series(dict)
- print(df)
- print(df[0])
- print(df['a'])
- a 0
- b 1
- c 2
- dtype: int64
- 0
- 0
想要显示带索引(标签)的某一行数据时,需要内部再嵌套一个[] 。
- print(df[[0]])
- print(df[['a']])
- a 0
- dtype: int64
- a 0
- dtype: int64
截取字符
print(df[:2])
- a 0
- b 1
- dtype: int64
类似于字典,判断标签是否存在。
print('c' in df)
True
2、1、1、1 选择一列:
(1)未使用函数
- dict = {'one': {'a': 0, 'b': 1, 'c': 2}, 'two': {'a': 4, 'b': 9, 'c': 3}}
- df = pd.DataFrame(dict)
- print(df['one'])
- a 0
- b 1
- c 2
- Name: one, dtype: int64
与Series类似,想要显示带索引的数据时,需要内部再嵌套一个[]。
print(df[['one']])
- one
- a 0
- b 1
- c 2
(2)使用函数
df.loc[]一般适用于根据标签选择行的情况,但也可以写成以下形式选择列。
print(df.loc[:, ['one']])
- one
- a 0
- b 1
- c 2
2、1、1、2 选择不止一列
(1)未使用函数
print(df[['one', 'two']])
- one two
- a 0 4
- b 1 9
- c 2 3
(2)使用函数
调用df.loc[]:
print(df.loc[:, ['one', 'two']])
- one two
- a 0 4
- b 1 9
- c 2 3
2、1、2、1 选择一行
直接写df['a']会报错,正确且唯一的方法是调用df.loc[],但要注意以下两种方式的显示结果是不同的,嵌套[]可以显示索引。
print(df.loc['a'])
- one 0
- two 4
- Name: a, dtype: int64
print(df.loc[['a']])
- one two
- a 0 4
2、1、2、2 选择不止一行
print(df.loc[['a', 'b']])
- one two
- a 0 4
- b 1 9
(1)选择某一范围时
先行后列
print(df.loc[['a', 'b'], ['one', 'two']])
- one two
- a 0 4
- b 1 9
(2)选择某一具体值时
先行后列
print(df.loc[['a'], ['one']])
- one
- a 0
也可写成以下形式 ,但只输出值。
print(df.loc['a', 'one'])
0
2、2、1、1 选择一行/多行
(1)未使用函数
直接写df[0]会报错,正确写法是df[:1]。
print(df[:1])
- one two
- a 0 4
与Series类似,切片可以灵活的截取不同行。
(2)使用函数
调用df.iloc[],但要注意以下两种方式的显示结果是不同的,切片可以显示索引。
print(df.iloc[0])
- one 0
- two 4
- Name: a, dtype: int64
print(df.iloc[0:1])
- one two
- a 0 4
2、2、2、1 选择一列/多列
df.iloc[]一般适用于根据下标选择行的情况,但也可以写成以下形式选择列。
print(df.iloc[:, 0:2])
- one
- a 0
- b 1
- c 2
2、2、3、1 选择某一范围时
(1)未使用函数
print(df[:2][['one', 'two']])
- one two
- a 0 4
- b 1 9
(2)使用函数
调用df.iloc[]:
print(df.iloc[0:2, 0:2])
- one two
- a 0 4
- b 1 9
2、2、3、2 选择某一值时
(1)未使用函数
print(df[1:2][['one']])
- one
- b 1
(2)使用函数
print(df.iloc[1:2, 1:2])
- two
- b 9
支持numpy通用数据类型,include和exclude用于实现“提取这些数据类型的列”或“提取不是这些数据类型的列”。
- dft = pd.DataFrame({'A': np.random.rand(3),
- 'B': 1,
- 'C': 'foo',
- 'D': pd.Timestamp('20010102'),
- 'E': pd.Series([1.0] * 3).astype('float32'),
- 'F': False,
- 'G': pd.Series([1] * 3, dtype='int8')})
- print(dft.select_dtypes([bool]))
- A B C D E F G
- 0 0.079111 1 foo 2001-01-02 1.0 False 1
- 1 0.618861 1 foo 2001-01-02 1.0 False 1
- 2 0.346071 1 foo 2001-01-02 1.0 False 1
-
- F
- 0 False
- 1 False
- 2 False
print(dft.select_dtypes(include=['bool', 'number'], exclude=['float32']))
- A B F G
- 0 0.054771 1 False 1
- 1 0.722049 1 False 1
- 2 0.256301 1 False 1
其中通用数据类型如下:
- [numpy.generic,
- [[numpy.number,
- [[numpy.integer,
- [[numpy.signedinteger,
- [numpy.int8,
- numpy.int16,
- numpy.int32,
- numpy.int64,
- numpy.int64,
- numpy.timedelta64]],
- [numpy.unsignedinteger,
- [numpy.uint8,
- numpy.uint16,
- numpy.uint32,
- numpy.uint64,
- numpy.uint64]]]],
- [numpy.inexact,
- [[numpy.floating,
- [numpy.float16, numpy.float32, numpy.float64, numpy.float128]],
- [numpy.complexfloating,
- [numpy.complex64, numpy.complex128, numpy.complex256]]]]]],
- [numpy.flexible,
- [[numpy.character, [numpy.bytes_, numpy.str_]],
- [numpy.void, [numpy.record]]]],
- numpy.bool_,
- numpy.datetime64,
- numpy.object_]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。