zoukankan      html  css  js  c++  java
  • pandas创建Series序列/hashable

    创建序列:
    pd.Series(data,index)
    
    Parameters:
    data : array-like, Iterable, dict, or scalar value
        Contains data stored in Series.
    index : array-like or Index (1d)
        Values must be hashable and have the same length as `data

    对于index里有个解释是,index的值必须是hashable

    hashable(Python官方词汇表:Search — Python 3.10.1 documentation)

     google在线翻译:

    如果一个对象的哈希值在其生命周期内永远不会改变(它需要一个 __hash__() 方法),并且可以与其他对象进行比较(它需要一个 __eq__() 方法),那么它就是可哈希的。 比较相等的可散列对象必须具有相同的散列值。
    
    哈希能力使对象可用作字典键和集合成员,因为这些数据结构在内部使用哈希值。
    
    大多数 Python 的不可变内置对象都是可散列的; 可变容器(例如列表或字典)不是; 不可变容器(例如元组和frozensets)只有在它们的元素是可散列的情况下才是可散列的。 默认情况下,作为用户定义类实例的对象是可散列的。 它们都比较不相等(除了它们自己),它们的哈希值来自它们的 id()。

    另一种不严谨但易懂的解释:参考链接:https://blog.csdn.net/qq_17753903/article/details/85345996

    hashable ≈ immutable 可哈希 ≈ 不可变

    在Python中:

    list、set和dictionary 都是可改变的,比如可以通过list.append(),set.remove(),dict['key'] = value对其进行修改,所以它们都是不可哈希的;

    而tuple和string是不可变的,只可以做复制或者切片等操作,所以它们就是可哈希的。


  • 相关阅读:
    88. Merge Sorted Array
    87. Scramble String
    86. Partition List
    85. Maximal Rectangle
    84. Largest Rectangle in Histogram
    83. Remove Duplicates from Sorted List
    82. Remove Duplicates from Sorted List II
    81. Search in Rotated Sorted Array II
    80. Remove Duplicates from Sorted Array II
    计算几何——点线关系(叉积)poj2318
  • 原文地址:https://www.cnblogs.com/xuwinwin/p/15754891.html
Copyright © 2011-2022 走看看