0

我在比较两个数据帧时遇到了一个小问题,数据帧的详细信息如下。下面详述的数据帧都在考拉中。

import databricks.koalas as ks


mini_team_df_1 = ks.DataFrame(['0000340b'], columns = ['team_code'])

mini_receipt_df_2 = ks.DataFrame(['0000340b'], columns = ['team_code'])

mini_receipt_df_2['match_flag'] = mini_receipt_df_2['team_code'].isin(ks.DataFrame(mini_team_df_1))

mini_receipt_df_2

我在 databricks 上执行此代码,我希望mini_receipt_df_2输出如下:

    team_code   match_flag

0   0000340b     True

但在我上面显示的代码中,输出如下:

    team_code   match_flag
0   0000340b     False

这对我来说毫无意义,因为使用 .isin 函数会给我的True值,team_code = 0000340b 因为这在两个数据帧中是相同的。

有人可以帮我理解什么是错的吗?

谢谢

4

1 回答 1

1

试试这个:

mini_receipt_df_2['match_flag'] = np.isin(mini_team_df_1['team_code'].to_numpy(), mini_receipt_df_2['team_code'])

输出:

>>> mini_receipt_df_2
  team_code  match_flag
0  0000340b        True
于 2022-02-09T16:06:51.400 回答