如何在python中创建没有重复的视图?

2024-10-01 11:33:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张像这样的桌子(表1):

我不希望竞选活动名称上出现空白行。我想要这个视图(表2)

如何使用pandas在python中实现这一点

原始表格 连接2个数据帧:

df1=活动名称、oppId、结束日期

df2=活动名称、销售线索Id、销售线索状态

^{tb1}$

我希望它看起来怎么样

^{tb2}$

Tags: 数据名称视图idpandas状态表格df1
1条回答
网友
1楼 · 发布于 2024-10-01 11:33:27

在给定示例数据的情况下,我能想到的唯一方法是将数据帧按列拆分,从每个生成的数据帧中删除空白行,然后将它们重新连接在一起

import numpy as np
import pandas as pd

df = pd.DataFrame({'campaign name': ['a', 'a', 'a', 'a', 'a', 'a'],
                   'oppId': [1, 2, 3, np.NaN, np.NaN, np.NaN],
                   'close date': ['1/23/2021', '1/24/2021', '1/25/2021', '', '', ''],
                   'Lead Id': [np.NaN, np.NaN, np.NaN, 4, 5, 6],
                   'Lead Status': ['', '', '', 'Qualified', 'pursuing', 'Unqualified']})
print(df)

df1 = df[['campaign name', 'oppId', 'close date']]
df1 = df1.dropna()
print(df1)

df2 = df[['Lead Id', 'Lead Status']]
df2 = df2.dropna().reset_index()
print(df2)

df3 = pd.concat([df1, df2], axis=1)
print(df3)

请注意,您必须在第二个数据帧上重置索引,以便连接只产生三行。最终结果是

  campaign name  oppId close date  index  Lead Id  Lead Status
0             a    1.0  1/23/2021      3      4.0    Qualified
1             a    2.0  1/24/2021      4      5.0     pursuing
2             a    3.0  1/25/2021      5      6.0  Unqualified

相关问题 更多 >