按特定顺序合并行
Merge rows in a specific order
没关系,新数据集给出了 NaN,因为它不包含拟合数据
我有一个前后调查,我想创建一个数据集,其中的行包含一个人的所有结果。如何连接两个数据帧以确保在对行进行排序时将列 'Full name' 作为参考点?谢谢!
concatenated = pd.concat([df, data], axis=1)
我尝试了这行 Python 代码,但它没有对行进行排序。
也许这对你有帮助:
import pandas as pd
df1 = pd.DataFrame({'last_name': {0: "one", 1: "two", 2: "three"},
'first_name': {0: "four", 1: "five", 2: "six"}})
df2 = pd.DataFrame({'last_name': {0: "one", 1: "two", 2: "three"},
'Value1': {0: 10, 1: 11, 2: 16},
'Value2': {0: 27, 1: 23, 2: 21},
'Value3': {0: 43, 1: 33, 2: 17}})
print(df1)
print(df2)
final_df = df1.merge(df2, on='last_name', how='left')
final_df
输出:
如果你想要concat
,你可以试试这个:
import pandas as pd
df1 = pd.DataFrame({'Date': {0: "first", 1: "second", 2: "third"},
'first_name': {0: "four", 1: "five", 2: "six"}})
df2 = pd.DataFrame({'Date': {0: "forth", 1: "fifth", 2: "sixth"},
'first_name': {0: "seve", 1: "eight", 2: "nine"}})
final_df = pd.concat([df1, df2,], axis=0)
final_df
输出:
使用合并而不是连接。合并允许您根据您的选择排序您想要的输出
pandas.merge_ordered(left, right, on=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, suffixes=('_x', '_y'), how='outer')
其中参数表示:
**参数
left = DataFrame
right =DataFrame
on =label or list
您要加入的字段(必须在两个 DataFrame 中)
left_on =label or list
right_on=label or listleft_on docs.
left_by=column name or list of column names
right_by=column name or list of column names
fill_method={‘ffill’, None}, default None
suffixes =list-like,default is (“_x”, “_y”)
how={‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘outer’
没关系,新数据集给出了 NaN,因为它不包含拟合数据
我有一个前后调查,我想创建一个数据集,其中的行包含一个人的所有结果。如何连接两个数据帧以确保在对行进行排序时将列 'Full name' 作为参考点?谢谢!
concatenated = pd.concat([df, data], axis=1)
我尝试了这行 Python 代码,但它没有对行进行排序。
也许这对你有帮助:
import pandas as pd
df1 = pd.DataFrame({'last_name': {0: "one", 1: "two", 2: "three"},
'first_name': {0: "four", 1: "five", 2: "six"}})
df2 = pd.DataFrame({'last_name': {0: "one", 1: "two", 2: "three"},
'Value1': {0: 10, 1: 11, 2: 16},
'Value2': {0: 27, 1: 23, 2: 21},
'Value3': {0: 43, 1: 33, 2: 17}})
print(df1)
print(df2)
final_df = df1.merge(df2, on='last_name', how='left')
final_df
输出:
如果你想要concat
,你可以试试这个:
import pandas as pd
df1 = pd.DataFrame({'Date': {0: "first", 1: "second", 2: "third"},
'first_name': {0: "four", 1: "five", 2: "six"}})
df2 = pd.DataFrame({'Date': {0: "forth", 1: "fifth", 2: "sixth"},
'first_name': {0: "seve", 1: "eight", 2: "nine"}})
final_df = pd.concat([df1, df2,], axis=0)
final_df
输出:
使用合并而不是连接。合并允许您根据您的选择排序您想要的输出
pandas.merge_ordered(left, right, on=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, suffixes=('_x', '_y'), how='outer')
其中参数表示: **参数
left = DataFrame
right =DataFrame
on =label or list
您要加入的字段(必须在两个 DataFrame 中)
left_on =label or list
right_on=label or listleft_on docs.
left_by=column name or list of column names
right_by=column name or list of column names
fill_method={‘ffill’, None}, default None
suffixes =list-like,default is (“_x”, “_y”)
how={‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘outer’