2017-10-11 59 views
0

enter image description here熊猫,如何列合并到1,其中所有的值被加在一起

如果我有一个与该信息的数据帧(如在上面的图片示出),其中..

第1行举行的字符串和第2行保存数值

我将如何合并1列中的所有列?

使用图像作为一个例子,在这种情况下所希望的结果会是

enter image description here

其中第一行已被合并到单个串字符和行2有其的所有值相加在一起,以给出一个结果,在这种情况下,78

回答

0

DF [“年”] = df.sum(轴= 1)

关于第二个问题,你的状态是什么情况,但你不说明什么你想要的结果是。

编辑:我假设“y”是恒定的。对于第二行,如果您只需要一行,则可以执行df.loc [1] .sum()。如果你想在一个数据框中,你可以做new_df = pd.DataFrame([['y'],[df.loc [1] .sum()]]]。如果你想要多行,你可以为范围(1,df.shape [0])中的行执行new_df = pd.DataFrame([['y'] + [[df.loc [row] .sum() ]])

+0

'我希望将所有列合并为只有1列,其中所有数字合计为' - 例如在这种情况下,如果我们使用上面的图片,结果将是78 – rawr105

+0

如果您的答案有问题,您将不得不更明确地知道它是什么。 – Acccumulation

0

如果你想总结行中的所有元素,你可以简单地说 df.iloc[row_num].sum()

0

假设你是从像CSV结构化文件格式阅读,你可以做这样的事情。我试着回答你最初的问题的第二部分也是如此。

skip-rows是一个集合,因此它可以明显持标跳过多行。

##ignore the repeating column-header rows by telling pandas which to skip when reading the file 
df = pandas.read_csv('C:\\test.csv', skiprows=[16]) 
##create a new dataframe where you aggregate the columns into one value, Y 
df = pandas.DataFrame(data=df.sum(axis=1), columns=["Y"])