首页 > 解决方案 > 如何缩短代码以生成熊猫数据框?

问题描述

我想从另一个数据框的列创建一个df1具有特定列名的熊猫数据框,并与另一个数据框合并。coldfdf2

df
    Name   House
0   John   London
1   John   London
2   John   London
3   Tom    New York
4   Tom    New York

df2
     Col  Val
0    Tom    3
1    John   2
2    Alex   5
3    Sarah  2

这就是我正在做的

import pandas as pd
x = pd.unique(df['Name'])
x = pd.DataFrame(x)
x.columns = ['col']
df1 = pd.merge(x, df2, on = 'Col')

df1
    Col  Val 
0   Tom    3
1   John   2

标签: pythonpandas

解决方案


您是否只是在寻找更好的方法来做您正在做的事情?当我需要过滤数据框时,我通常会这样做。

import pandas as pd
names = set(df['Name'].values)
smaller_df = df2[df2['Col'].isin(names)]

编辑是因为我不理解 OP 的问题。


推荐阅读