python 获取csv的列数_Python 笔记

本文介绍了Python操作CSV文件的一些技巧,包括将列表中的字符串转为数字,使用DataFrame读取CSV,根据列内容切片,理解和避免DataFrame的链式赋值警告,以及DataFrame的行数和列数的获取。此外,还探讨了DataFrame存储为CSV,追加数据,存取Excel文件中的多个sheet,高效检索,删除行,重置索引,获取工作目录,文件拷贝,字符串到字典转换,根据DataFrame列值获取行索引,以及布尔运算在DataFrame切片中的注意事项。
摘要由CSDN通过智能技术生成

1. 将python列表中的string转为数字, 利用map实现

原文件中的数字格式

19cbeb67a8fc8bb9ae8bf1ee09f9da41.png
f = open('filename', 'r')
inf = list(map(float, f.readlines()[0].strip().split()))
print(inf)

17b39c8b5eb1e5285350e08fdf60f4d8.png

2. DataFrame读取csv避免第一行作为表头,header=None

f = pd.read_csv('filename.csv', header=None)

3. 对DataFrame表格根据某列的内容进行切片,isin(),无需知道确切的行数

6f61bbcdc000172d8fb6b10f5c32ed00.png
f1 = f[f['Type'].isin(['Bi'])]
print(f1)

ff6a6f9898037e2a2d0eefc63156648c.png

4. isin()也可以用逻辑符连接,进行进一步筛选

f1 = f[f['X'].isin([X]) & f['Y'].isin([Y]) & (f['Z']-1.5) < 1.7]

5. df.copy()可以复制之前的表格,修改新表格数据时,之前的表格不受影响

df2 = df.copy()

6. 使用df.concat([df1, df2], axis=0) 将df2追加到df1末端

7. 警告”A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead“

出现这个警告是链式赋值引起的,在复制表格时候,若令df2=df1,则修改df2中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>