是否可能只合并一些列?我有一个DataFramedf 1,包含 列x、y、z和df 2,列x、a、b、c、d、e、f等。
我想合并x上的两个DataFrames,但我只想合并df2.a、df2.b列,而不是整个DataFrame。
结果是具有x,y,z,a,b的DataFrame。
我可以合并,然后删除不需要的列,但似乎有一个更好的方法。
发布于 2018-08-01 09:34:08
你可以合并子DataFrame(仅与这些列合并):
df2[list('xab')] # df2 but only with columns x, a, and b
df1.merge(df2[list('xab')])
发布于 2018-08-01 10:09:29
你可以用.loc
若要选择具有所有行的特定列,请按此操作。一个例子如下:
pandas.merge(dataframe1, dataframe2.iloc[:, [0:5]], how='left', on='key')
在本例中,你将合并dataframe 1和dataframe 2。你已经选择在“键”上做一个左外接。但是,对于dataframe 2你已经指定了.iloc
它允许你以数字格式指定想要的行和列。使用:
,你将选择所有行,但是[0:5]
选择前5列。你可以用.loc
若要按名称指定,但如果你处理的是长列名,则.iloc
也许会更好。
https://stackoverflow.com/questions/-100005885
复制相似问题