对.csv文件的处理
在处理.CSV文件时,总会遇到列表的添加删除,查找符合条件的元素下标,并需要对其进行处理的操作。下面将介绍如何查找符合条件的元素以及如何对其赋值的操作。
第一步,将pandas.dataframe类型转换为numpy类型,例如:
data['Labels'].values,可将列表Labels的值提取并转换成numpy类型。
参考链接:
https://blog.youkuaiyun.com/flyfrommath/article/details/69388675
https://blog.youkuaiyun.com/qq_30163461/article/details/80080529
第二步,筛选出符合条件的下标
a = [(data['Position X']==i)&(data['Position Y']==j)
b = [(df['PCTL']<0.95) & (df['PCTL']>0.05)]
以上两行操作返回bool值,通过(data['Labels'].values)[a]可直接打印出相应特征对应行元素的值。
参考链接:
https://jingyan.baidu.com/article/0eb457e508b6d303f0a90572.html
https://www.cnblogs.com/xinping-study/p/7289468.html
第三步,对相应元素进行操作,例如:
(data['Labels'].values)[a] = k
相应代码:
# 添加列元素 及 提取符合条件元素下标(通过装换成numpy形式)
# for example
# print df[(df['PCTL']<0.95) & (df['PCTL']>0.05)]
data['Labels'] = 0
k = 1
for i,j in [(122,180),(79,180),(165,180),(122,137),(122,223)]:
a = [(data['Position X']==i)&(data['Position Y']==j)]
(data['Labels'].values)[a] = k
k += 1
#print(a)
#print(data)