【问题标题】:ndarray throws Data must be 1-dimensionalndarray 抛出数据必须是一维的
【发布时间】:2020-04-21 13:26:12
【问题描述】:
    input_data_ndarray = np.array(
        [['chicken', 'creamofchickensoup'], ['Chicken', 'CreamofChickensoup'], ['chicken', 'creamofchickensoup']])
    result = pd.Series(input_data_ndarray).apply(lambda x: tuple(sorted(x))).nunique()

对于上面的代码,抛出

raise Exception("Data must be 1-dimensional")
E               Exception: Data must be 1-dimensional

对这个问题有任何想法吗?

【问题讨论】:

    标签: python pandas series numpy-ndarray


    【解决方案1】:

    这可能会有所帮助:

    In [1959]: pd.Series(input_data_ndarray.tolist())                                                                                                                                                           
    Out[1959]: 
    0    [chicken, creamofchickensoup]
    1    [Chicken, CreamofChickensoup]
    2    [chicken, creamofchickensoup]
    dtype: object
    

    或者,如果您想要dataframe,请执行以下操作:

    In [1960]: pd.DataFrame(input_data_ndarray)                                                                                                                                                                 
    Out[1960]: 
             0                   1
    0  chicken  creamofchickensoup
    1  Chicken  CreamofChickensoup
    2  chicken  creamofchickensoup
    

    【讨论】:

    • 所以它将ndarray转换为列表列表。然后,应用排序操作。最后,获得唯一计数。对吗?
    猜你喜欢
    • 1970-01-01
    • 2017-12-20
    • 2019-05-03
    • 2020-10-13
    • 2019-12-03
    • 2021-02-13
    • 2018-01-31
    • 2010-10-15
    • 1970-01-01
    相关资源
    最近更新 更多