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是不可变的,只可以做复制或者切片等操作,所以它们就是可哈希的。


  • 相关阅读:
    为什么建立视图
    Oracle constraints type 约束类型
    python 环境
    查看oracle 数据库的编码格式
    trigger
    闪回操作 flashback
    row_number()over(partiton by order by ) rank() over(partition by order by )
    lag() 偏移
    date
    配置ES中IK分词器远程词库
  • 原文地址:https://www.cnblogs.com/xuwinwin/p/15754891.html
Copyright © 2011-2022 走看看