一.创建DataFrame
在Python中若想使用类似Spark中的DataFrame数据类型,可以使用Pandas类库中的DataFrame方法,代码如下:
# 创建空DataFrame
df = pd.DataFrame(columns = ['AAA','BBB','CCC','DDD'])
二.添加数据
往DataFrame中添加数据有按索引添加和忽略索引添加两种:
# 插入数据(忽略索引)
df = df.append(df3.loc[i].append(df2.loc[j]), ignore_index=True)
# 按索引添加
df.loc[i] = df3.loc[i].append(df2.loc[j])
三.去重
去重重复数据有保留重复数据的第一行和最后一行以及删除全部重复数据三种方式,分别指定keep参数值为first、last、False;
df = df.drop_duplicates(
subset=['AAA','BBB','CCC','DDD'], # 去重列,按这些列进行去重
keep='first' # 保存第一条重复数据
)
四.拆分DataFrame
在Python中可以根据某列的具体内容来拆分数据,保存成多个DataFrame。
df2 = df[df['备注'].isin(['1'])]
![2a2d314c824cce7577558288d2a9ae76.png](https://i-blog.csdnimg.cn/blog_migrate/d107cfaff34825a0442529457a6db1d5.jpeg)
五.识别DataFrame中的nan
使用math中的isnan函数可以识别数据是否是nan类型的。
if isnan(df.loc[i]['AAA']):
六.DataFrame关联
使用Python中的Pandas类库中的merge函数,可以实现类似表连接的DataFrame关联;代码如下:
df = pd.merge(
df, # 左
df2, # 右
left_on = ['AAA','BBB'], # 左DataFrame匹配列
right_on = ['CCC','DDD'],# 右DataFrame匹配列
how='inner' # 内连接 (left:左连接,right:右连接,outer:外连接)
)
![0ac144cdaf4e986ccb2f6038c0cb8492.png](https://i-blog.csdnimg.cn/blog_migrate/6e809e282041978c7c35ca65031b24af.jpeg)