# 使用ix进行下表和名称组合做引 data.ix[0:4, ['open', 'close', 'high', 'low']] # 推荐使用loc和iloc来获取的方式 data.loc[data.index[0:4], ['open', 'close', 'high', 'low']] data.iloc[0:4, data.columns.get_indexer(['open', 'close', 'high', 'low'])] open close hig...
get_indexer(["a", "b"])) 五 条件过滤数据 可以基于条件筛选数据: # 选择列 "A" 中小于 0 的数据 print(df[df["A"] < 0]) # 选择第一行数据不小于 -10 的列 print("~:\n", df.loc[:, ~(df.iloc[0] < -10)]) print("\n>=:\n", df.loc[:, df.iloc[0] >= -10]) # ...
.get_indexer(target[, method, limit, ...]) :获取target(一个Index对象)对应的下标列表。 target:一个Index对象。我们要考察的就是Index中的每个label在self中的下标序列。 method:指定label的匹配方法。可以为None,表示严格匹配(如果不存在则下标为 -1)。如果为'pad'/'ffill',则:若未找到匹配的,则使用前...
方法9:使用Index的get_indexer方法获取角标位置 query_index = pd.Index(cats) df["code9"] = query_index.get_indexer(df.data)+1 1 2 方法10:使用Series进行批量查询 query_series = pd.Series(index=cats, data=range(1, len(cats)+1)) df["code10"] = query_series[df.data].values 1 2 ...
1、 只能先列后行(我想先行后列了,就是按名字索引了) 名字索引: 1、data.loc['2018-06']['open'] 或者 data.loc['2018-06','open'] data.loc[data.index[0:4],['open','high']] 数字索引: 1、data.iloc[1,2] data.iloc[0:4,data.columns.get_indexer(['open','close'])] ...
使用df.index.get_indexer(),我能够提取要包含在平均值中的最后一行的索引, df['stop'] = df.index.get_indexer(df['Date-Time-Exch'] + time_diff, method='bfill') 我希望我能以某种方式使用“start”和“stop”中的值来使用类似iloc的切片
pd.Index(unique_vals).get_indexer(to_match) 下表给出了这几个方法的一些参考信息: 有时,你可能希望得到DataFrame中多个相关列的一张柱状图。例如: data=pd.DataFrame({'Qu1':[1,3,4,3,4],'Qu2':[2,3,1,2,3],'Qu3':[1,5,2,4,4]})data ...
使用DataFrame的index属性和columns属性可以得到行索引和列索引,在后面传入对应的数值就可以将数值索引转换成索引名。链式调用index属性和columns属性的get_indexer()方法,就可以将索引名转换成数值索引,get_indexer()中传入需要转换的索引名列表,即使只转换一个索引名,也要用列表的方式传入。
与isin相关的Index.get_indexer方法,可以提供一个索引数组,这个索引数组可以将可能非唯一值数组转换为另一个唯一值数组: to_match = pd.Series(['c','a','b','b','c','a']) unique_vals = pd.Series(['c','b','a']) print(pd.Index(unique_vals).get_indexer(to_match)) --- [0 2 1 ...
对于获取多个索引器,可以使用.get_indexer: In [111]: dfd.iloc[[0, 2], dfd.columns.get_indexer(['A', 'B'])]Out[111]:A Ba 1 4c 3 6 重新索引 实现选择可能不存在的元素的惯用方法是通过.reindex()。另请参阅 重新索引 部分。 In [112]: s = pd.Series([ ...