创建
(1)创建空的:df_empty = pd.DataFrame(columns=['A', 'B', 'C', 'D'])
(2)读取csv:pd.read_csv('1.csv')
新增
(1)
a=pandas.DataFrame({'A':1,'B':1,'C':1,'D':1},index=[1])
df1=df_empty.append(a,ignore_index=True) #r如果不指定ignore_index=True,则index为a中指定的index,如果指定index=True,则index自动指定为缺失的index或下一个index
保存 data.to_csv("data.csv")
获得所有的列名:data_deep.columns.values.tolist()
修改某个值:pandas修改某个值的时候必须统一索引的方式:行列都按位置索引(data.iloc[第几行,第几列]),或者行列都按索引值索引(data.loc[行索引,列索引])
例子:
data:
按索引值索引: json.loc[0,'buildExist']=0
按位置索引:
json.iloc[0,list(json).index('buildExist')]=1
将某个元素设置为list,array等可迭代的元素:
直接按上述方法设置会报错:Must have equal elements,所以需要按照下面方法设置
(1)先获得dataframe一行的frame:json_index=json.iloc[index]
(2)设置frame的值:json_index['xyoffset']=roofOffset
(3)设置dataframe: json.iloc[index]=json_index
进阶教程
筛选
(1)找出df中A列值为100的所有数据:df[df.A==100]
(2)找出df中A列值为100且B列值为‘a’的所有数据:df[(df.A==100)&(df.B=='a')]
(3)找出df中A列值为100或B列值为‘b’的所有数据:df[(df.A==100)|(df.B=='b')]
排序:根据bias的进行排序 data_b1_p1=data_b1_p1.sort_values(by=['bias'])
组合:参考https://www.jianshu.com/p/fe47c70d31f9 pd.concat pd.merge
删除属性列或者修改属性列的列名: https://blog.csdn.net/ZK_J1994/article/details/71246611 https://blog.csdn.net/dongcheng_/article/details/82901191
把属性A改为a,属性C改为c: a.rename(columns={'A':'a', 'C':'c'}, inplace = True)
按照列名删除列:df2 = df.drop(['B', 'C'], axis=1)
获得按条件索引后的行的index:data_deep[(data_deep['imag_name']=='IMG_0191')].index.tolist()
追加一列:首先保证处理的变量是DataFrame,而不是series,使用type(变量)查看变量的类型,使用pd.DataFrame(变量)将变量转为dataFrame,追加时,只需要变量['列名']=''即可追加一列
可视化: