我有两个数据帧DF1和DF2
DF1:
id product
a a
b b
c c
d d
DF2:
id documentType documentUrl
a 3D https://...a.dxf
a Image https://...a.jpg
b PDF https://...b.pdf
b Image https://...b.jpg
b Image https://...b2.jpg
c PDF https://...c.pdf
我想在DF1中创建一列“image1”,并根据以下条件赋值。
DF1['id']
值是否在DF2['id']
和DF2['documentType']=='Image'中可用因此,输出应该如下所示:
id product image1
a a https://...a.jpg
b b https://...b.jpg
c c https://...no_image.jpg
d d https://...no_image.jpg
不知道如何解决这个问题,但一些想法:
-加入/合并是我的第一个想法,但是如何处理这些条件呢?
-可能使用检查条件的功能映射/应用
DF1['image1'] = DF1['id'].map(DF2.set_index('id')['documentUrl'], condition)
您可以先过滤:
s = (DF2.loc[DF2.documentType=='Image']
.drop_duplicates('id')
.set_index('id')['documentUrl']
)
DF1['image'] = DF1['id'].map(s)
输出:
id product image
0 a a https://...a.jpg
1 b b https://...b.jpg
2 c c NaN
3 d d NaN
假设我有2个数据帧: DF1: Col1 | Col2 | Col3 XCN000370/17-18C|XCN0003711718C|0003971718 DF2 Col1 | Col2 | Col3 XCN0003711718C|XCN0003711718C|0003971718 我希望它们像这样合并: 首次匹配Col1(DF1)和Col1(DF2) 在保持不匹配的情况下,将Col1(DF1)与
我有点被困在提取一个变量的值和另一个变量的条件上。例如,以下数据帧: 当时,如何获取的值?每次提取的值时,都会得到一个对象,而不是字符串。
我有这种熊猫。数据框。“a”、“b”是获得“x”和“y”时的条件。 我需要绘制关于相同条件的(x,y)结肠的折线图。预期结果图为: 当然,这个图像是由以下代码手动给出的: 我的问题是,当获得一个包含条件列x和y的数据帧时,如何动态地绘制如上所述的图。 列名是固定的。但是,条件列的值是动态更改的。因此,我不能使用10、20、100、200的值。 如果我有下面的“用a和b过滤”方法,我认为问题解决了:
我有两个Dataframes一个与日期集(df1)和另一个与emp_ids集(df2)。我试图创建一个新的Dataframe,这样df2中的每个emp_id都被标记为df1中的每个日期。 下面给出了我的数据帧的外观 df1 df2 预期产出: 我将日期列转换为字符串,并尝试执行以下操作,但返回的数据框为空 我尝试做
我对熊猫很陌生,我想知道如何同时给熊猫添加多个列。感谢您的帮助。理想情况下,我想一步到位,而不是多步重复。。。
问题内容: 我有点被困在提取另一个变量的条件变量的值上。例如,以下数据框: 如何获得when的价值?每当我提取的值时,我都会得到一个对象,而不是字符串。 问题答案: 您可以用来获取满足条件的序列,然后获取第一个元素: