【问题标题】:operands could not be broadcast together with shapes (16,) (21,) -pandas操作数不能与形状 (16,) (21,) -pandas 一起广播
【发布时间】:2020-05-22 15:50:22
【问题描述】:

我有 pandas 数据透视表 datafrme“df_summary_table”。 print(df_summary_table) 给出 [16 行 x 21 列]

    m1 = (df_summary_table.index == "test1")
    m2 = df_summary_table.columns.str.startswith('NA')
    df_summary_table.loc[m1 & m2] = 10

我正在尝试执行上述操作得到奇怪的错误。 print(m1) 给:

[ True False False False False False False False False False False False
 False False False False]

m1 的长度为 16 print(m2) 给出:

    [False False False False False False False False False False  True  True
  True  True  True  True  True  True  True  True False]

m2的长度是21

m1 和 m2 都是 "" 谁能帮我解决这个问题?

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    问题是没有Multiindex,所以过滤行需要m1,过滤列需要m2"cost"必须被移除并且掩码不能被&链接,因为不同的长度和不同的过滤(每行第一个过滤器,每列第二个过滤器):

    df_summary_table.loc[m1, m2] = 10
    

    【讨论】:

    • 我尝试了相同但得到相同的错误,编辑了代码 sn-p
    • @greenking - 之间有,,没有&
    猜你喜欢
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多