【发布时间】:2021-03-20 16:08:25
【问题描述】:
我是 Pandas 的新手。所以请多多包涵。我有一个像这样的df
DF1
column1 column2(ids)
a [1,2,13,4,9]
b [20,14,10,18,17]
c [6,8,12,16,19]
d [11,3,15,7,5]
每个列表中的每个数字对应于第二个数据帧中的列 ID。
DF2
id. value_to_change.
1 x1
2 x2
3 x3
4 x4
5 x5
6 x6
7 x7
8 x8
9 x9
. .
. .
. .
20 x20
步骤 1
- 我想迭代每个列表并选择 DF2 中具有匹配 ID 的行,并创建 4 个数据帧,因为我在 DF1 中有 4 行。 如何做到这一点?
例如,对于应用逻辑后的第一行,我会得到它
id. value_to_change
1 x1
2 x2
13 x13
14 x14
9 x9
第二行会给我
id. value_to_change
20 x20
14 x14
10 x10
18 x18
17 x17
等等……
第 2 步
一旦我有了这 4 个数据帧,我将它们作为参数传递给返回 4 个数据帧的逻辑。 2) 我怎样才能将它们组合成一个排序的最后一个?
DF3
id. new_value
1 y1
2 y2
3 y3
4 y4
5 y5
6 y6
7 y7
8 y8
9 y9
. .
. .
. .
20 y20
我该怎么办?
【问题讨论】:
-
在手机上,所以无法测试。您可以使用 DF2.loc 中的每个列表来选择行。最终的组合可以用 pd.concat 来完成。
-
您的数据不一致。请正确格式化。
-
@Vishnudev 有什么不一致的地方??无论如何,我收集你的想法,我认为我的格式很好。如果你想编辑,你可以
-
你的数据中有
.的点,是有意的吗? -
@Vishnudev 不要刻薄,问题很明确。尽管 uniXVanXcel 您可以包含生成这些数据帧的代码。