【问题标题】:Dataframe unique items and x y locations to a grid of roomates (shared location) items数据框唯一项目和 x y 位置到室友网格(共享位置)项目
【发布时间】:2020-07-12 17:05:31
【问题描述】:

我的数据框看起来像这个例子,
其中 id 是唯一的,但 id 可以共享位置,例如 id 1 和 2 共享 0,0 单元格

 | id  |  x  |  y  |  
-----------------------
1|  1  |  0  |  0  | 
2|  2  |  0  |  0  | 
3|  3  |  1  |  2  |
4|  4  |  1  |  0  |
.
.

我想获取室友的数据框,例如:
其中索引和列是根据 id 和值是 1 如果共享单元格,否则为 0

 |  1  |  2  |  3  |  4  | ... 
---------------------------
1|  0  |  1  |  0  |  0  |
2|  1  |  0  |  0  |  0  |
3|  0  |  0  |  0  |  0  |
4|  0  |  0  |  0  |  0  |
.
.

因为这是大数据框,所以函数需要向量化,而不是使用基本上循环遍历行的apply 方法

【问题讨论】:

    标签: python pandas numpy location vectorization


    【解决方案1】:
    arr = df1.to_numpy()
    arr = arr[1:]
    
    mask = (arr[:, np.newaxis] == arr).prod(axis= 2)
    
    df2 = pd.DataFrame(mask) 
    

    【讨论】:

    • 虽然此代码可能会回答问题,including an explanation 关于如何以及为何解决问题将有助于提高您的回答质量。请记住,您也是在为将来的读者回答问题,而不仅仅是现在提出问题的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多