在pandas更新版本后,往DataFrame中添加新的一行的方法发生了变化。假设原有数据表格为data,需要在data下添加新的一行,可使用
data = pd.concat([data]+[copydata],ignore_index=True,axis=0) #data为原始数据,copydata为插入数据
进行添加。
使用例:
现有一个excel表格,“d””s1″”s2″”s3″”s4″”s5″”label”分别为特征维度,”n”为具有该特征的人数
现在想要将该数据转换成每个个体的特征数据,即将”n”行拆开,运用以下代码:
import pandas as pd import numpy as npdata=pd.read_csv('G:/feature_class.csv')data_new=pd.DataFrame(columns=['d','s1','s2','s3','s4','s5','label']) #新建表#print(data_new)for index,row in data.iterrows():data_temp=pd.DataFrame({'d':[row['d']],'s1':[row['s1']],'s2':[row['s2']],'s3':[row['s3']],'s4':[row['s4']],'s5':[row['s5']],'label':[row['label']]})#插入表,注意字段与data_new保持一致#print(data_temp)copydata=[data_temp]*row['n'] #复制n次data_new = pd.concat([data_new]+copydata,ignore_index=True,axis=0)data_new.to_csv('D:/result.csv')
即可完成。