文章目录

  • 1. python处理重复值索引问题
  • 2.python读取文件夹列表的问题
  • 3. dataframe删除指定行、列
    • 1)drop函数
    • 2)inplace参数
  • 4. argsort数组索引排名到元素排名

1. python处理重复值索引问题

python3 的index函数只能索引要查找元素的首个索引,这个在多数情况是不能满足索引要求的。

listA = [1, 2, 3, 2]
print(listA.index(2))1

而enumerate函数可以遍历所有元素,可以利用这个函数+列表推导式实现获取所有重复元素的索引值。

listA = [1, 2, 3, 2]  #比如要查找列表中的数字2。
indexA = [x for (x, m) in enumerate(listA) if m == 2]
print(indexA)1,3

listA = [1, 2, 3, 2]
for (x, m) in enumerate(listA):if m == 2:print(x)1
3

2.python读取文件夹列表的问题

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

但这样获取的文件名是没有顺序的。

单纯的filenames.sort()会以1,10,100,1000.。。这样的方式读入文件名。

因此,对于这种0.csv, 1.csv, 2.csv……10.csv文件列表,只需要在

filenames=os.listdir()下一行代码中加入
filenames.sort(key=lambda x:int(x[:-4]))

就可以解决顺序读取文件的问题了。

对于带字符串的,如下:

可以先把两边的字符去掉,对比数字排序即可:

path_list.sort(key=lambda x: int(x.split('r_theta_interp_')[1].split('.csv')[0]))

总之,就是去掉文件名多余字符,只剩下数字,排序,即可。

3. dataframe删除指定行、列

1)drop函数

df.drop()  # drop删除行或列的内容

删除前两行

df.drop([0, 1])

删除最后一行

df.drop([len(list)-1])

删除行名为name的行
删除列名为name的列

df.drop(["name"])  # 默认删除行
df.drop(["name"], axis=1)  # 列需要加axis=1

2)inplace参数

凡是会对原数组作出修改并返回一个新数组的,往往都有一个 inplace可选参数。如果手动设定为True(默认为False),那么原数组直接就被替换。

DF= DF.drop('column_name', axis=1);
DF.drop('column_name',axis=1, inplace=True)

采用inplace=True之后,原数组名(如2情况所示)对应的内存值直接改变;而采用inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给一个新的数组或者覆盖原数组的内存位置(如1情况所示)。

4. argsort数组索引排名到元素排名

对于数组元素进行索引排名时,可以使用np.argsort()返回索引排名,是按照索引从小到大,如下:

result = [9, 4, 3, 7]
# input result as a tuple
# result = np.array(result)
result_arg = np.argsort(result)
print(result_arg)[2 1 3 0]

元素3最小,3对应的索引为2,排在第一个位置,元素9最大,索引为0,排在最后一个位置。

如果想要对元素进行排名:

result = [9, 4, 3, 7]
# input result as a tuple
result = np.array(result)
result_arg = np.argsort(result)
result_rank = np.zeros(len(result_arg))
for i in range(len(result_arg)):result_rank[result_arg[i]] = i
print(result_rank.tolist())[3.0, 1.0, 0.0, 2.0]

9最大,对应3.0, 3最小,对应0.0

或者,使用两次argsort()

result = [9, 4, 3, 7]
# input result as a tuple
result = np.array(result)
result_arg = np.argsort(result)
print(result_arg)
result_arg = np.argsort(result_arg)  # 两次argsort和上面是一样的效果
print(result_arg)[2 1 3 0]  # 索引排名
[3 1 0 2]  # 元素排名

python处理问题汇总二(重复值索引,顺序读取文件,drop函数,数组元素排名)相关推荐

  1. python如何顺序读取文件夹下的图片及文件

    获取文件夹下文件 os.listdir()  :用于返回指定的文件夹包含的文件或文件夹的名字的列表.得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名. 但是返回 ...

  2. python读取文件夹-Python按顺序读取文件夹中文件

    参考资料: 涉及到文件操作,我们有时候会读取一个文件夹中的所有的文件.这些文件可能是文件名完全混乱的,也可能是完全格式化的(如1.png,2.png...).下面介绍Python中的几种按顺序(假如有 ...

  3. rt-thread 学习(二)外部中断 添加头文件 延时函数

    rt-thread 学习(二)外部中断 添加头文件 延时函数 设置按键外部中断 开启硬件定时器 初始化配置部分 延时函数 添加头文件 设置按键外部中断 #include <rtthread.h& ...

  4. python中按照文件夹中文件的排列顺序读取文件内容,python文件显示和windows目录显示一致

    原创 python中按照文件夹中文件的排列顺序读取文件内容 2018-12-06 11:49:18 途径北海道 阅读数 3891 更多 分类专栏: python 版权声明:本文为博主原创文章,遵循 C ...

  5. python concat去除重复值语句_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...

    摘要 在进行数据分析时,我们经常需要对DataFrame去重,但有时候也会需要只保留重复值. 这里就简单的介绍一下对于DataFrame去重和取重复值的操作. 创建DataFrame 这里首先创建一个 ...

  6. Python中数据清洗缺失值,重复值和异常值的处理

    1 缺失值的处理 1.1 常规缺失值的处理 np.nan,NaN,None,NaT(时间数据类型的缺失值)等 df.isnull() 1.判断每一个df中的数据是否为缺失值,是则返回True,否则返回 ...

  7. php数组重复值销毁,如何从PHP中删除数组中的重复值

    如何从PHP中删除数组中的重复值 如何从PHP中删除数组中的重复值? 21个解决方案 204 votes 使用array_unique(). 例: $array = array(1, 2, 2, 3) ...

  8. 【Python】Python实战从入门到精通之六 -- 教你读取文件

    本文是<Python实战从入门到精通>系列之第6篇 [Python]Python实战从入门到精通之一 -- 教你深入理解Python中的变量和数据类型 [Python]Python实战从入 ...

  9. 《Python编程从入门到实践》记录之读取文件

    目录 1.读取整个文件 2.文件路径 3.逐行读取文件 4.创建包含文件各行内容的列表并使用它 从文件读取数据有两种方式:(1)一次性读取整个文件的全部内容:(2)以每次一行的方式逐步读取. 1.读取 ...

最新文章

  1. sql server分布式事务解决方案[新事务不能登记到指定的事务处理器中错误]
  2. windows下命令行启动tomcat
  3. 在IntelliJ IDEA中使用git
  4. Exchange server 2013(十二)IRM故障排除
  5. 手机型号云服务器,手机型号查询接口
  6. 关于虚拟机下linux共享Windows文件的解决方案
  7. 年薪百万程序员竟遭亲妈拍卖:才拍到10块,还不够买一盒鸡蛋!
  8. mysql中 routine
  9. 数据存储-CoreData总结
  10. 如何在JavaScript中检查变量是否为整数?
  11. oracle执行计划cost单位,Oracle 执行计划(5)—cost成本之索引范围扫描-B树索引
  12. 微软商店下载的python 的 pip 不能修改 config 的解决方法
  13. 人体姿态识别-左肩和左肘的定位识别
  14. 直播svga礼物应该如何设计,让用户更加青睐
  15. 量子力学对计算机影响,人们对量子力学的理解有误?
  16. 公司如何使用开源软件
  17. 数据防泄漏对于数据安全的重要性
  18. 迷途emlog模板全站好看的变色模板源码(内含搭建教程)
  19. android Camera 设置焦距
  20. 有点甜的小姐姐,概念原画师Z.W.Gu作品

热门文章

  1. 全连接网络:实现第一个全连接网络
  2. rar,zip文件加密判断
  3. 阿里云物联网平台最完全的使用教程
  4. Powerdesigner(16.6) 导出漂亮的word(实用型)
  5. 全球首家多语言智能客服上线,这家神秘AI公司有什么秘密武器?
  6. 小米3的卡槽,卡住了
  7. PHP全站pjax影响收录,zblogPHP增加pjax功能,大写的一个“帅”字 - 胡言乱语
  8. 封神台靶场-尤里的复仇-第二章
  9. rocketmq client端源码分析(1)-consumer实现
  10. 突发!又一MCU大厂暂停接单!