Pandas,如何将列合并为1,其中所有值都加在一起

时间:2017-10-11 22:05:44

标签: python pandas dataframe

enter image description here

如果我有一个包含信息的数据框(如上图所示)..

第1行包含字符串,第2行包含数值

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

以图片为例,本案例中的预期结果为

enter image description here

第一行已合并为单个字符串字符,第2行将所有值加在一起得到结果,在本例中为78

3 个答案:

答案 0 :(得分:0)

df ['年'] = df.sum(轴= 1)

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

编辑:我认为" y"是不变的。对于第二行,如果您只想要一行,则可以执行df.loc [1] .sum()。如果你想在数据帧中使用它,可以使用new_df = pd.DataFrame([[' y'],[df.loc [1] .sum()]])。如果你想要多行,你可以为范围内的行(1,df)执行new_df = pd.DataFrame([[' y'] + [[df.loc [row] .sum()] .shape [0]]])

答案 1 :(得分:0)

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

答案 2 :(得分: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"])