网站优化最为重要的内容是,网站建设可以抵扣吗,网站开发与设计需要哪些技术,现在做个app多少钱DataFrame数据合并主要使用merge()方法和concat()方法。
1.数据合并#xff08;merge()方法#xff09; Pandas模块的merge()进行数据合并时#xff0c;两个DataFrame对象必须有相同的列。 1.常规合并
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003],语… DataFrame数据合并主要使用merge()方法和concat()方法。
1.数据合并merge()方法 Pandas模块的merge()进行数据合并时两个DataFrame对象必须有相同的列。 1.常规合并
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003],语文:[110,105,109],数学:[105,88,120],英语:[99,115,130]})df2 pd.DataFrame({编号:[mr001,mr002,mr003],体育:[34.5,39.7,38]})df_mergepd.merge(df1,df2,on编号)
print(df_merge) 该示例中编号是相同的所以会将df2中“体育”作为新的一列加入到df1中。 2.通过索引合并
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003],语文:[110,105,109],数学:[105,88,120],英语:[99,115,130]})df2 pd.DataFrame({编号:[mr001,mr002,mr003],体育:[34.5,39.7,38]})df_mergepd.merge(df1,df2,left_indexTrue,right_indexTrue)
print(df_merge)3.对合并数据去重 使用到how属性就是让df1保留所有的行列数据df2则根据df1的行列进行补全。
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003],语文:[110,105,109],数学:[105,88,120],英语:[99,115,130]})df2 pd.DataFrame({编号:[mr001,mr002,mr003],体育:[34.5,39.7,38]})df_mergepd.merge(df1,df2,on编号,left_indexTrue,right_indexTrue)
print(df_merge)
df_mergepd.merge(df1,df2,on编号,howleft)
print(df_merge)4.多对一的数据合并 根据共有列中的数据进行合并df2根据df1的行列进行补全。
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003],学生姓名:[明日同学,高猿员,钱多多]})df2 pd.DataFrame({编号:[mr001,mr001,mr003],语文:[110,105,109],数学:[105,88,120],英语:[99,115,130],时间:[1月,2月,1月]})df_mergepd.merge(df1,df2,on编号)
print(df_merge)5.多对多的数据合并 根据共有列中的数据进行合并df2df1相互补全。
import pandas as pddf1 pd.DataFrame({编号:[mr001,mr002,mr003,mr001,mr001],体育:[34.5,39.7,38,33,35]})df2 pd.DataFrame({编号:[mr001,mr002,mr003,mr003,mr003],语文:[110,105,109,110,108],数学:[105,88,120,123,119],英语:[99,115,130,109,128]})df_mergepd.merge(df1,df2)
print(df_merge)
2.数据合并concat()方法 1.相同字段的表首尾相连
dfs [df1,df2,df3]
result pd.concat(dfs) 如果需要标记源数据来自于哪张表可以使用 result pd.concat(dfs, keys[第一张表,第二张表,第三张表]) 2.横向表合并行对齐 用于数据列名不一致缺失的数据使用Nan填充 。其中axis1代表行合并。
result pd.concat([df1,df4],axis1) 3.交叉合并 交叉合并需要加上join参数如值为inner结果为两张表的交集如果值为outer结果为两张表的并集。
result pd.concat([df1,df4],axis1,joininner) 4.指定表对其数据行对齐 如果指定参数join_axes就可以指定根据哪张表来对齐数据。如下述代码根据df4表对其结果表的行术和df4的行术一致在此基础上拼接df1表。
result pd.concat([df1,df4],axis1,join_axes[df4.index]) 《python数据分析》p120