Pandas学习随手笔记:
-
构建pandas.DataFrame
a. 使用字典创建Dataframe的时候要注意:
字典格式:pd.DataFrame({‘a’:[‘A’]}) 字典里的value要声明成列表,否则在只有一个值的时候会报错。E.g.pd.DataFrame({‘a’:‘A’}, index = [0])。当字典值为scalar时需要传入一个index。 -
pandas.DataFrame指定index插入行/列:
先说行:
快速插入第一行:df.loc[‘new_id’] = … 会插入一个新行(最后一行),index是输入的new_id。
没有什么特别的函数直接实现插入,append可以在DF下面接上一个表格。注意列名必须一样否则会创建新列,然后之前的DF的entry在这些新列上是NaN,新表格在原来的列上也是NaN.插入行的话就只有DF切片然后append。append有个param叫ignore_index,设定为true的话就会忽略所有 index并重新分配从0开始。用这个就可以实现插入。
例如要在表格df1的第i行插入一个全都是null的数组:
生成一个一行n列的全null数组:null_vec = [np.nan for i in range(df1.shape[1])]
null_df = pd.DataFrame(np.array(null_vec).reshape(1,len(null_vec)), columns=df1.columns)
#这里很坑爹的事情是如果直接用列表创建DF那么这个东西是1*n的而不是n*1的ÿ