python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
2016-10-27 23:54
1141 查看
先手工生出一个数据框吧
[python] view plain copy
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))
df 是这样子滴
那么这三种选取数据的方式该怎么选择呢?
一、当每列已有column name时,用 df [ 'a' ] 就能选取出一整列数据。如果你知道column names 和index,且两者都很好输入,可以选择 .loc
[python] view plain copy
df.loc[0, 'a']
df.loc[0:3, ['a', 'b']]
df.loc[[1, 5], ['b', 'c']]
由于这边我们没有命名index,所以是DataFrame自动赋予的,为数字0-9
二、如果我们嫌column name太长了,输入不方便,有或者index是一列时间序列,更不好输入,那就可以选择 .iloc了。这边的 i 我觉得代表index,比较好记点。
[python] view plain copy
df.iloc[1,1]
df.iloc[0:3, [0,1]]
df.iloc[[0, 3, 5], 0:2]
iloc 使得我们可以对column使用slice(切片)的方法对数据进行选取。
三、.ix 的功能就更强大了,它允许我们混合使用下标和名称进行选取。 可以说它涵盖了前面所有的用法。基本上把前面的都换成df.ix 都能成功,但是有一点,就是
df.ix [ [ ..1.. ], [..2..] ], 1框内必须统一,必须同时是下标或者名称,2框也一样。 BTW, 1框是用来指定row,2框是指定column, 当然上面所有的取数方法都是这个规则。
这就是我目前的领悟吧。
[python] view plain copy
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))
df 是这样子滴
那么这三种选取数据的方式该怎么选择呢?
一、当每列已有column name时,用 df [ 'a' ] 就能选取出一整列数据。如果你知道column names 和index,且两者都很好输入,可以选择 .loc
[python] view plain copy
df.loc[0, 'a']
df.loc[0:3, ['a', 'b']]
df.loc[[1, 5], ['b', 'c']]
由于这边我们没有命名index,所以是DataFrame自动赋予的,为数字0-9
二、如果我们嫌column name太长了,输入不方便,有或者index是一列时间序列,更不好输入,那就可以选择 .iloc了。这边的 i 我觉得代表index,比较好记点。
[python] view plain copy
df.iloc[1,1]
df.iloc[0:3, [0,1]]
df.iloc[[0, 3, 5], 0:2]
iloc 使得我们可以对column使用slice(切片)的方法对数据进行选取。
三、.ix 的功能就更强大了,它允许我们混合使用下标和名称进行选取。 可以说它涵盖了前面所有的用法。基本上把前面的都换成df.ix 都能成功,但是有一点,就是
df.ix [ [ ..1.. ], [..2..] ], 1框内必须统一,必须同时是下标或者名称,2框也一样。 BTW, 1框是用来指定row,2框是指定column, 当然上面所有的取数方法都是这个规则。
这就是我目前的领悟吧。
相关文章推荐
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
- Python - pandas DataFrame 数据选取,修改,切片
- Python pandas.DataFrame在用ix, loc, iloc 索引的时候就相当于拷贝copy了一个对象
- python的pandas包数据框单层索引操作核心方法loc,iloc,ix,query
- python pandas中series与dataframe数据类型属性及操作基础
- 数据结构之--series,DataFrame.use python and pandas for data mining
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- pandas dataframe 做机器学习训练数据=》直接使用iloc或者as_matrix即可
- 2017.06.15-2016.06.18回顾 loc/iloc/ix dataframe相关 oracle无自增去重 correl
- python pandas (ix & iloc &loc) 的区别
- python pandas (ix & iloc &loc) 的区别
- 怎样解决python dataframe loc,iloc循环处理速度很慢的问题
- 用python做数据分析4|pandas库介绍之DataFrame基本操作
- python 取出 Mongdb 中的数据 转化成DataFrame 然后用pandas处理数据
- Python_pandas 两种主要的数据类型(Series、DataFrame)