如何在pandas中处理同名列
我有一个dataframe,它碰巧有一些列具有相同的列名如何在pandas中处理同名列,pandas,Pandas,我有一个dataframe,它碰巧有一些列具有相同的列名 df_raw[column_name] # [141 rows x 2 columns] 我有一个提取唯一值的代码,但是如果它有多个维度,它就不起作用 ipdb> dt_raw[column_name].unique() *** AttributeError: 'DataFrame' object has no attribute 'unique' 我不希望在处理之前用df_raw.columns“更新”所有列以使其唯一。有什么
df_raw[column_name] # [141 rows x 2 columns]
我有一个提取唯一值的代码,但是如果它有多个维度,它就不起作用
ipdb> dt_raw[column_name].unique()
*** AttributeError: 'DataFrame' object has no attribute 'unique'
我不希望在处理之前用df_raw.columns“更新”所有列以使其唯一。有什么好办法处理这个问题吗
我已尝试以下代码,但出现错误:
ipdb> dt_raw[column_name][0]
*** KeyError: 0
问题:
要获取具有
column\u name
的列数,可以执行df\u raw[column\u name].shape[1]
。您可以使用iloc
语法按实际位置而不是名称访问数据帧:df_-raw。iloc[:,n]
将返回数据帧的第n列,df_-raw[column_-name]。iloc[:,n]
将返回名为“column_-name”的第n列(请记住,它的索引为零)
另外,如果您想要唯一的列名,可以执行
set(df_raw.columns)
我得到了答案。谢谢收看
是的,df_raw[column_name]。形状[1]有效,我得到了2。df_raw.iloc[column_name][:,0]不起作用,但-***TypeError:无法使用的这些索引器[MASKED column name]对进行位置索引。无论如何,谢谢你的回复。几分钟前我找到了一个工作代码。@Earl哎呀,对不起。它应该是
df_raw[column_name].iloc[:,n]
@contraction是的,它正在工作。有趣的是,熊猫有不同的方式做同样的事情。在本例中,看起来.iloc和.ix执行相同的操作。
len(df_raw[column_name].columns)
df_raw[column_name].ix[:,0] #first column
df_raw[column_name].ix[:,1] #2nd column, etc