Lt.*_*0st 38 python concat pandas
我对熊猫很新,我试图连接一组数据帧,我收到这个错误:
ValueError: Plan shapes are not aligned
Run Code Online (Sandbox Code Playgroud)
我的理解.concat()是它会在列相同的地方加入,但对于那些找不到它的人来说,它将填充NA.这似乎不是这种情况.
继承人的声明:
dfs = [npo_jun_df, npo_jul_df,npo_may_df,npo_apr_df,npo_feb_df]
alpha = pd.concat(dfs)
Run Code Online (Sandbox Code Playgroud)
use*_*082 85
如果它有帮助,当我尝试连接两个数据帧时,我也遇到了这个错误(截至撰写本文时,这是我可以在google上找到的唯一相关命中,而不是源代码).
我不知道这个答案是否会解决OP的问题(因为他/她没有发布足够的信息),但对我来说,这是因为当我尝试使用列进行concat数据框化df1时['A', 'B', 'B', 'C'](参见重复的列标题?)df2带有列的数据框['A', 'B'].可以理解的是,重复导致大熊猫晃动.更改df1为['A', 'B', 'C'](即删除其中一个重复列),一切正常.
小智 6
我最近也收到了此消息,我发现像上面的用户@jason和@ user3805082一样,在我尝试使用的数百个数据框中,有多个重复的列concat,每个列都有数十个神秘的varnames。手动搜索重复项是不切实际的。
万一其他人有同样的问题,我写了下面的函数可能会有所帮助。
def duplicated_varnames(df):
"""Return a dict of all variable names that
are duplicated in a given dataframe."""
repeat_dict = {}
var_list = list(df) # list of varnames as strings
for varname in var_list:
# make a list of all instances of that varname
test_list = [v for v in var_list if v == varname]
# if more than one instance, report duplications in repeat_dict
if len(test_list) > 1:
repeat_dict[varname] = len(test_list)
return repeat_dict
Run Code Online (Sandbox Code Playgroud)
然后,您可以遍历该命令以报告有多少重复项,删除重复的变量或以某种系统的方式对其进行重命名。
| 归档时间: |
|
| 查看次数: |
36795 次 |
| 最近记录: |