查看spark进程/区分pyspark和pandas的表的合并,pyspark是join,pandas是merge

本文深入探讨了使用Pandas和PySpark进行数据融合(Join)的技巧与常见错误处理,包括解决标签不一致导致的ValueError,以及如何通过PySpark和Pandas的merge函数正确地进行左连接(left join)。文章还提供了实际代码示例,展示了如何从CSV文件读取数据、数据预处理、执行连接操作,并对结果进行分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令:
vim ~/.bashrc

source ~/.bashrc

ps aux | grep spark

pkill -f "spark"


sudo chown -R sc:sc  spark-2.3.1-bin-hadoop2.7/

sudo mv /home/sc/Downloads/spark-2.3.1-bin-hadoop2.7 /opt/


locate *punish*
查找文件路径;


用pandas做join报错:
我用pandas做join像这样:df22 = df1.join(df2, df2.company_name_a == df1.company_name,'left_outer')  报这个错:ValueError: Can only compare identically-labeled Series objects

pyspark文档做join的文档:
http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql

>>> df1.join(df2, df1["value"] == df2["value"]).count()
0
>>> df1.join(df2, df1["value"].eqNullSafe(df2["value"])).count()

pandas的merge文档:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge.html

train_x = pd.read_csv('/home/sc/PycharmProjects/sc/risk_rules/sklearn_result_02/the_check_shixin_train.csv')
print(train_x.columns)
train_x['add_companyname'] = train_x['company_name']
print(train_x.columns)
df_check_1000 = pd.read_csv('/home/sc/Desktop/shixin_detect_result_shixin_cnt.csv')
df_check_1000=df_check_1000.drop_duplicates()
df_ch1 = pd.merge(df_check_1000,train_x,on='company_name',how='left')
print(df_ch1.head(2))
df_ch2 = df_ch1[(df_ch1['add_companyname'].isnull()) & (df_ch1['shixin_cnt'] != 1)] #248家;多次失信并且没有在训练集出现过
print(df_ch2.groupby(['id']).size())
print(df_ch2.groupby(['shixin_cnt']).size())
print(len(df_ch2))

df_ch2 = pd.merge(df_ch2,df_check_1000,on='company_name',how='left')
print(len(df_ch2))
cols = ['company_name','established_years',
       'industry_dx_rate', 'regcap_change_cnt', 'industry_dx_cnt',
       'address_change_cnt', 'network_share_cancel_cnt', 'cancel_cnt',
       'fr_change_cnt', 'network_share_zhixing_cnt',
       'network_share_judge_doc_cnt', 'judge_doc_cnt', 'share_change_cnt',
       'industry_all_cnt', 'network_share_or_pos_shixin_cnt',
       'judgedoc_cnt']
print("hahahhaha")
print(df_ch2.columns)
df_ch22 = df_ch2.ix[:, cols]
print(df_ch22.columns)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值