向DataFrame添加列名时Python提升值错误

向DataFrame添加列名时Python提升值错误,python,pandas,dataframe,Python,Pandas,Dataframe,因此,我一直在编写一些代码,将数据解析为数据帧并对其执行计算。到目前为止,它一直在工作,但在添加列名后,代码崩溃并引发ValueError: ValueError:传递值的形状为(10,1),索引暗示(10,10) 以下是相关代码块: holds_names = ["Left_Mean", "Left_SD", "Left_Skew", "Left_Kurt", "Right_Mean", "Right_SD", "Right_Skew", "Right_Kurt", "Mean_Dif", "

因此,我一直在编写一些代码,将数据解析为数据帧并对其执行计算。到目前为止,它一直在工作,但在添加列名后,代码崩溃并引发ValueError:

ValueError:传递值的形状为(10,1),索引暗示(10,10)

以下是相关代码块:

holds_names = ["Left_Mean", "Left_SD", "Left_Skew", "Left_Kurt", "Right_Mean", "Right_SD", "Right_Skew", "Right_Kurt", "Mean_Dif", "PD"]


stat = 1

holdl = pd.to_numeric(df1[df1[3] == 'L'][4], errors='coerce')
holdl = holdl.dropna()
holdl = np.array(holdl[holdl < 1000])

LM = np.mean(holdl)
LSD = np.std(holdl)
LSK = scipy.stats.skew(holdl)
LK = scipy.stats.kurtosis(holdl)

holdr = pd.to_numeric(df1[df1[3] == 'R'][4], errors='coerce')
holdr = holdr.dropna()
holdl = np.array(holdr[holdr < 1000])

RM = np.mean(holdr)
RSD = np.std(holdr)
RSK = scipy.stats.skew(holdr)
RK = scipy.stats.kurtosis(holdr)

MD_1 = abs(LM - RM)

holds_data = [LM, LSD, LSK, LK, RM, RSD, RSK, RK, MD_1, stat]

hdf = pd.DataFrame(holds_data, columns=holds_names)
holds = holds.append(hdf)
保存名称=[“左均值”、“左标准差”、“左偏”、“左库尔特”、“右均值”、“右标准差”、“右偏”、“右库尔特”、“平均Dif”、“PD”]
stat=1
holdl=pd.to_numeric(df1[df1[3]='L'][4],errors='concurve')
holdl=holdl.dropna()
holdl=np.数组(holdl[holdl<1000])
LM=np.平均值(holdl)
LSD=np.std(holdl)
LSK=scipy.stats.skew(holdl)
LK=scipy.stats.kurtosis(holdl)
holdr=pd.to_numeric(df1[df1[3]=='R'][4],errors='concurve')
holdr=holdr.dropna()
holdl=np.数组(holdr[holdr<1000])
RM=np.平均值(保持率)
RSD=np.std(holdr)
RSK=scipy.stats.skew(holdr)
RK=scipy.stats.kurtosis(holdr)
MD_1=abs(LM-RM)
持有数据=[LM、LSD、LSK、LK、RM、RSD、RSK、RK、MD_1、stat]
hdf=pd.DataFrame(保存数据,列=保存名称)
holds=holds.append(hdf)
我真的很困惑,因为当我从hdf中删除columns参数时,它工作得很好(尽管是在一个没有列名的长列中)


我该如何着手解决这个问题?谢谢

更改这行代码可以解决问题吗

holds_data = [LM, LSD, LSK, LK, RM, RSD, RSK, RK, MD_1, stat]
致:


更改这行代码可以解决问题吗

holds_data = [LM, LSD, LSK, LK, RM, RSD, RSK, RK, MD_1, stat]
致:


成功了!非常感谢你!我有一个问题,为什么这样做?不确定是否有更技术性的解释,但添加括号[]是知道它们是行的一种方式。请接受作为解决方案!非常感谢。成功了!非常感谢你!我有一个问题,为什么这样做?不确定是否有更技术性的解释,但添加括号[]是知道它们是行的一种方式。请接受作为解决方案!非常感谢。
hdf = pd.DataFrame(holds_data, columns=holds_names)
hdf = pd.DataFrame([holds_data], columns=holds_names)