【发布时间】:2017-05-21 00:30:58
【问题描述】:
我在数据框的列上运行了一个字符串操作,以在另一个数组中生成新的列名。到目前为止,一切都很好。
columns = dfnum.columns.values
print(columns)
qcolumns = [x + 'q' for x in columns]
print(qcolumns)
当我尝试在这两个数组上运行 for 循环以生成数据库中原始值的分位数切割时,我得到了这个:
for column in columns, qcolumn in qcolumns:
dfnumqcut = pd.qcut(dfnum[[column]],5)
dfnum[qcolumn] = dfnumqcut.codes
我在下面得到一堆错误。我想要去做的是获取 qcuts 并将它们加入数据框。我可以按照下面的方式逐列执行此操作,但应该有一些方法可以使用 for 循环来执行此操作:
dfnumqcut = pd.qcut(dfnum[['Market Cap']],5)
dfnum['Market Capq'] = dfnumqcut.codes
1 表示列中的列,qcolumn 中的 qcolumn:
----> 2 dfnumqcut = pd.qcut(dfnum[[column]],5)
3 dfnum[qcolumn] = dfnumqcut.codesTypeError: unhashable type: 'numpy.ndarray'
【问题讨论】:
标签: python pandas multidimensional-array dataframe