对数组进行切片OR选择部分索引时如果报错为:
TypeError: unhashable type: 'slice'
需要使用 .iloc[ ] ,它通过位置position来索引 ,而.loc[ ] 通过标签label 来索引。
遇到下面这种报 错时,需要把dataframe 格式转为numpy数组格式,那么怎么转化呢
AttributeError: 'DataFrame' object has no attribute 'reshape'
有以下几种方式
df 表示dataframe / 数据框 ,
#以下四种情况都可以把dataframe 格式转为numpy数组格式,但结果不一定相同
df=df.values
df= df.as_matrix()
df.reset_index().values
df = np.array(df)
df.reset_index().values.ravel().view(dtype=[('index', int), ('A', float), ('B', float), ('C', float)])
在大数据分析中,比较常用的两个数据分析包就是numpy和pandas,而pandas正是基于numpy构建的含有更高级数据结构和工具的数据分析包,在金融领域应用更是广泛。在实际的工程中,经常遇到的问题就是numpy的ndarray数据结构与pandas的series和dataframe数据结构之间的互相转换问题。现在我分3种情况,在python程序中列一下互转的情况,应该比较全面了。
情况1:输入的数据data为list
情况2:输入的数据data为dict
情况3:输入的数据data为ndarray
注:本文转自 numpy的ndarray与pandas的series和dataframe之间互转