Pandas常用操作
转换列数据类型
DF[“列名”]=DF[“列名”].astype(‘float’)
按添加赋值某列
DF.loc[lineData[“列名”] == “None”, ‘列名’] = 值
添加列
DF[“列名”] = None
按行遍历数据 赋值
for ind, row in DF.iterrows():
if row[“列名”] == u"否":
DF.at[ind, “列名”] = 1
某列唯一值生成列表
DF[‘列名’].unique()
列表转换为DF
DF = pandas.DataFrame(Lists)
DF.columns = columnsNameList
Pandas中 DF.append() 方法效率低 应当先保存到List 再使用此方法转换为DF
截取列字符串
DF[列名] = outdf1[列名].str[:12]
分组
DF.groupby(列名)
DF.sum() 求和
取行数 列数
DF.shape[0] 行
DF.shape[1] 列
排序
DF.sort([“列1”, “列2”], ascending=True, inplace=True)
删除某列
DF =DF.drop(‘列名’, 1)
或
DF.dropna(subset=[‘列名’], inplace=True)
合并两个相同的DF
allDf = pd.concat([DF1,DF2])
数据清洗
取数据为Null值
DF =DF [DF[“列名”].isnull()]
取数据为非Null值
DF =DF [~DF[“列名”].isnull()]
~取反
取数据列2为Null值 或 列1为1
DF =DF[(DF[“列1”] == ‘1’) |
(DF[“列2”].isnull()) ]
取数据列2为Null值 且 列1为1
DF =DF[(DF[“列1”] == ‘1’) &
(DF[“列2”].isnull()) ]
== isnull isin 等 会按条件获得一个Series 数据类型为逻辑型 符合条件的行的值为True 可以通过 | & ~ 逻辑运算符连接多种条件 最后通过 DF[Series ] 获取 Series 中 值为True的行
通过DF获取列 Series 的两种方式
DF[列名]
DF.列名
列中的值转列表
DF.列名.value.tolist()