python - 如何缩短代码以生成熊猫数据框?
问题描述
我想从另一个数据框的列创建一个df1
具有特定列名的熊猫数据框,并与另一个数据框合并。col
df
df2
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
解决方案
您是否只是在寻找更好的方法来做您正在做的事情?当我需要过滤数据框时,我通常会这样做。
import pandas as pd
names = set(df['Name'].values)
smaller_df = df2[df2['Col'].isin(names)]
编辑是因为我不理解 OP 的问题。
推荐阅读
- c# - 未从列表元素调用 GetHashCode
- java - 如何知道使用 @KafkaListener 注释时何时调用 consumer.poll()?
- java - 无法获取本地和 UTC Instant
- elixir - List 包含另一个相同顺序的列表
- reactjs - 组件在初始化后正在更改不受控制的 Slider 的默认值状态。带有 Redux 状态的 Material UI 滑块
- jquery - 仅在屏幕尺寸 > 720 时触发滚动功能
- vba - 通过 VBA 拆分 Access 数据库需要很长时间
- python - Python Selenium:如何等到 href 属性包含特定字符串?
- java-8 - 如何解决具有小状态大小问题的慢检查点?
- sas - 使用 if _n_ =1 then do 的区别;并且不在 SAS 中将其与 PRXPARSE() 一起使用