pythonlist索引获取
㈠ python怎么获取list的某个元素的位置
几种方式的回答:
1)
print('*'*15,'想找出里面有重复数据的索引值','*'*15)
listA = [100, 94, 88, 82, 76, 70, 64, 58, 52, 46, 40, 34,76]
print('列表中第1次出现的位置 = ',listA.index(76))
2)
a_list = ['a','b','c','c','d','c']
find = 'c'
print('重复元素出现的位置索引分别是 = ',[i for i,v in enumerate(a_list) if v==find])
-----------------------------------------------------
3)### 求某个元素重复的索引值,函数方式表述如下:
a_list = ['a','b','c','c','d','c']
def unique_index(L,f):
"""L表示列表, i表示索引值,v表示values,f表示要查找的元素 """
return [i for (i,v) in enumerate(L) if v==f]
print('索引值 = ',unique_index(a_list,'c'))
运行结果:
索引值 = [2, 3, 5]
4)还缺一种,列出多个元素重复的索引值,以后再补充
......
㈡ python鍙栧垪琛ㄥ墠鍑犱釜鍏幂礌
鍦≒ython涓锛屼綘鍙浠ラ氲繃绱㈠紩𨱒ヨ幏鍙栧垪琛ㄧ殑鍓嶅嚑涓鍏幂礌銆备互涓嬫槸涓浜涚ず渚嬶细
濡傛灉浣犳兂銮峰彇鍒楄〃镄勫墠3涓鍏幂礌锛
pythonmy_list = [1, 2, 3, 4, 5, 6]
first_three = my_list[:3]
print(first_three) # 杈揿嚭锛歔1, 2, 3]
濡傛灉浣犳兂銮峰彇鍒楄〃镄勫墠4涓鍏幂礌锛
pythonmy_list = [1, 2, 3, 4, 5, 6]
first_four = my_list[:4]
print(first_four) # 杈揿嚭锛歔1, 2, 3, 4]
浣犱篃鍙浠ヤ娇鐢ㄥ垏鐗囷纸slicing锛夋潵銮峰彇鍓嶅嚑涓鍏幂礌锛岃繖涓鏂规硶涓崭粎阃傜敤浜庡垪琛锛岃缮阃傜敤浜庡瓧绗︿覆鍜屽叾浠栧彲杩浠e硅薄銆备緥濡傦纴浣犲彲浠ヤ娇鐢ㄤ互涓嬩唬镰佹潵銮峰彇绗1鍒扮5涓鍏幂礌锛埚寘𨰾绗5涓鍏幂礌锛夛细
pythonmy_list = [1, 2, 3, 4, 5, 6]
slice_list = my_list[1:6] # 娉ㄦ剰锛岃捣濮嬬储寮曟槸0锛屾墍浠1浠h〃绗涓涓鍏幂礌
print(slice_list) # 杈揿嚭锛歔2, 3, 4, 5, 6]
璇锋敞镒忥纴Python涓镄勭储寮曟槸浠0寮濮嬬殑锛屾墍浠my_list[0]灏呜繑锲炲垪琛ㄧ殑绗涓涓鍏幂礌銆
涓嬮溃鏄涓涓绀轰緥浠g爜锛屽畠婕旂ず浜嗗备綍浣跨敤鍒囩墖镎崭綔绗︿粠鍒楄〃涓鎻愬彇鍓崭笁涓鍏幂礌锛 ```python my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] first_three_elements = my_list[0:3] print(first_three_elements) ``` 杈揿嚭锛 ```python [1, 2, 3] ``` 鍦ㄨ繖涓绀轰緥涓锛屾垜浠瀹氢箟浜嗕竴涓钖崭负`my_list`镄勫垪琛锛屽叾涓鍖呭惈涓浜涙暟瀛椼
铹跺悗锛屾垜浠浣跨敤鍒囩墖镎崭綔绗`[0:3]`浠庡垪琛ㄤ腑鎻愬彇鍓崭笁涓鍏幂礌锛屽苟灏嗙粨鏋滃瓨鍌ㄥ湪钖崭负`first_three_elements`镄勬柊鍒楄〃涓銆傛渶钖庯纴鎴戜滑浣跨敤`print()`鍑芥暟灏嗙粨鏋沧墦鍗板埌鎺у埗鍙颁笂銆
㈢ python怎么获取list的某个元素的位置
method1 全列表查询元素位置
列表元素位置查找最基础的方式就是全列表查询,在python中使用index可对列表进行对应的操作,指定查找的元素内容即可。但注意返回的是查找到的首个元素索引
指令形式
index = namelist.index(索引内容)
㈣ python怎么获取列表元素的索引
#用enumerate函数,最好不要用index,因为列表有相同的元素的时候,index就傻冒了
fori,jinenumerate(('a','b','c')):
printi,j
0a
1b
2c
㈤ Python的pandas 数组如何得到索引值,如图,我要得到ohio 的索引值,应该怎样做
直接上实例:
df = pd.DataFrame(np.random.randn(5,3),index = list('abcde'),columns = ['one','two','three']) #创建一个数据框
df 内容
第一个arrary代表第几行,第二个代表第几列。
如,如何条件的元素存在在:第一行第三列,第三行第一列,....
㈥ Python 数据处理(二十四)—— 索引和选择
如果你想获取 'A' 列的第 0 和第 2 个元素,你可以这样做:
这也可以用 .iloc 获取,通过使用位置索引来选择内容
可以使用 .get_indexer 获取多个索引:
警告 :
对于包含一个或多个缺失标签的列表,使用 .loc 或 [] 将不再重新索引,而是使用 .reindex
在以前的版本中,只要索引列表中存在至少一个有效标签,就可以使用 .loc[list-of-labels]
但是现在,只要索引列表中存在缺失的标签将引发 KeyError 。推荐的替代方法是使用 .reindex() 。
例如
索引列表的标签都存在
先前的版本
但是,现在
索引标签列表中包含不存在的标签,使用 reindex
另外,如果你只想选择有效的键,可以使用下面的方法,同时保留了数据的 dtype
对于 .reindex() ,如果有重复的索引将会引发异常
通常,您可以将所需的标签与当前轴做交集,然后重新索引
但是,如果你的索引结果包含重复标签,还是会引发异常
使用 sample() 方法可以从 Series 或 DataFrame 中随机选择行或列。
该方法默认会对行进行采样,并接受一个特定的行数、列数,或数据子集。
默认情况下, sample 每行最多返回一次,但也可以使用 replace 参数进行替换采样
默认情况下,每一行被选中的概率相等,但是如果你想让每一行有不同的概率,你可以为 sample 函数的 weights 参数设置抽样权值
这些权重可以是一个列表、一个 NumPy 数组或一个 Series ,但它们的长度必须与你要抽样的对象相同。
缺失的值将被视为权重为零,并且不允许使用 inf 值。如果权重之和不等于 1 ,则将所有权重除以权重之和,将其重新归一化。例如
当应用于 DataFrame 时,您可以通过简单地将列名作为字符串传递给 weights 作为采样权重(前提是您要采样的是行而不是列)。
sample 还允许用户使用 axis 参数对列进行抽样。
最后,我们还可以使用 random_state 参数为 sample 的随机数生成器设置一个种子,它将接受一个整数(作为种子)或一个 NumPy RandomState 对象
当为该轴设置一个不存在的键时, .loc/[] 操作可以执行放大
在 Series 的情况下,这实际上是一个追加操作
可以通过 .loc 在任一轴上放大 DataFrame
这就像 DataFrame 的 append 操作
由于用 [] 做索引必须处理很多情况(单标签访问、分片、布尔索引等),所以需要一些开销来搞清楚你的意图
如果你只想访问一个标量值,最快的方法是使用 at 和 iat 方法,这两个方法在所有的数据结构上都实现了
与 loc 类似, at 提供了基于标签的标量查找,而 iat 提供了基于整数的查找,与 iloc 类似
同时,你也可以根据这些索引进行设置值
如果索引标签不存在,会放大数据
另一种常见的操作是使用布尔向量来过滤数据。运算符包括:
|(or) 、 &(and) 、 ~ (not)
这些必须用括号来分组,因为默认情况下, Python 会将 df['A'] > 2 & df['B'] < 3 这样的表达式评估为 df['A'] > (2 & df['B']) < 3 ,而理想的执行顺序是 (df['A'] > 2) & (df['B'] < 3)
使用一个布尔向量来索引一个 Series ,其工作原理和 NumPy ndarray 一样。
您可以使用一个与 DataFrame 的索引长度相同的布尔向量从 DataFrame 中选择行
列表推导式和 Series 的 map 函数可用于产生更复杂的标准
我们可以使用布尔向量结合其他索引表达式,在多个轴上索引
iloc 支持两种布尔索引。如果索引器是一个布尔值 Series ,就会引发异常。
例如,在下面的例子中, df.iloc[s.values, 1] 是正确的。但是 df.iloc[s,1] 会引发 ValueError 。