合并数据框中每一行的列

时间:2020-11-04 13:17:46

标签: python pandas dataframe

我想合并两列:第1列+第2列,每行分别。不幸的是,它对我没有用。我该如何解决?

new File("${WORKSPACE}/settings.gradle").readLines()...

enter image description here

import pandas as pd
import numpy as np

d = {'Nameid': [1, 2, 3, 1], 'Name': ['Michael', 'Max', 'Susan', 'Michael'], 'Project': ['S455', 'G874', 'B7445', 'Z874']}
df = pd.DataFrame(data=d)
display(df.head(10))
df['Dataframe']='df'

enter image description here


我尝试过的

d2 = {'Nameid': [4, 2, 5, 1], 'Name': ['Petrova', 'Michael', 'Mike', 'Gandalf'], 'Project': ['Z845', 'Q985', 'P512', 'Y541']}
df2 = pd.DataFrame(data=d2)
display(df2.head(10))
df2['Dataframe']='df2'

enter image description here

df_merged = pd.concat([df,df2])
df_merged.head(10)

enter image description here

如您所见,他并没有将每一行结合在一起。他可能只有第一个与所有这些结合在一起。如何将两列逐行合并?

我想要的

enter image description here

3 个答案:

答案 0 :(得分:0)

您可以像这样简单地concat个字符串:

您不需要执行df['Dataframe'].astype(str)

In [363]: df_merged['unique_string'] = df_merged.Nameid.astype(str) + df_merged.Dataframe

In [365]: df_merged
Out[365]: 
   Nameid     Name Project Dataframe unique_string
0       1  Michael    S455        df           1df
1       2      Max    G874        df           2df
2       3    Susan   B7445        df           3df
3       1  Michael    Z874        df           1df
0       4  Petrova    Z845       df2          4df2
1       2  Michael    Q985       df2          2df2
2       5     Mike    P512       df2          5df2
3       1  Gandalf    Y541       df2          1df2

答案 1 :(得分:0)

请确保您正在使用struct.pack('<f', float(float_value)) 分配回df3的方法,也请执行df3

reset_index

答案 2 :(得分:0)

使用df3代替df,并添加ignore_index=True作为默认索引:

df3 = pd.concat([df,df2], ignore_index=True)
df3['unique_string'] = df3['Nameid'].astype(str) + df3['Dataframe']
print (df3)
   Nameid     Name Project Dataframe unique_string
0       1  Michael    S455        df           1df
1       2      Max    G874        df           2df
2       3    Susan   B7445        df           3df
3       1  Michael    Z874        df           1df
4       4  Petrova    Z845       df2          4df2
5       2  Michael    Q985       df2          2df2
6       5     Mike    P512       df2          5df2
7       1  Gandalf    Y541       df2          1df2