关于pandas索引表格的一切

在pandas处理表格的时候经常会遇到有点复杂的处理表格操作,这时候又不能用pd.write_to_csv()来写入表格,那么就得考虑用索引来挑选、处理数据写入新的表格了。

1.读取表格

import pandas as pd
df=pd.read_csv('data.csv')

2.找到符合要求的索引列表

index_list=df[df['A']=='风速'].index.tolist()  

这里是寻找列名为A的,值为风速的索引,并将索引值转换为列表进行遍历,这是为了方便后续通过索引号对数据进行处理。

3.写入表格

如果是精确筛选的话,可以选择下面的方式进行筛选:

import xlwt
f = xlwt.Workbook()

k=1  ##这里的k表示的是excel中的行,表示在第几行写入
sheet = f.add_sheet("DATA")# 创建一个工作表

###这里是每一列都代表了什么
rowTitle = ['A1', 'B1', 'C1','D1','E1','F1','G1','H1','I1']

##这里是开始创建建立表格的横向标题
for i in range(0, len(rowTitle)):
    sheet.write(0, i, rowTitle[i])
    
for index1 in sorted(index_list): ##对上面的索引列表进行遍历,通过符合要求的索引来得到数据写入新表中
    print(index1)
    sheet.write(k, 0, str(df.at[index1, 'A'])) 
    #例子:df.at[3,'time'],取行索引为3,列索引为time的数值
    sheet.write(k, 1, str(df.at[index1, 'B']))
    sheet.write(k, 2, str(df.at[index1, 'C']))
 #上面一行表示在第k行第2列将df所代表的表格中行索引为3,列索引为time的数值写入到新表格中
f.save('new_data.csv') ##保存到表格中

至此 你就完成了通过索引对表格进行精确筛选了

4.取某一列

df['A'].to_list()

你可能感兴趣的:(pandas)