我想以这种特殊方式将这两个数据框连接起来。
df:
name ... time
0 Tom ... 13
1 Tom ... 16
2 Ben ... 10
3 Ben ... 12
和df1:
name ... time
0 Tom ... 8
1 Ben ... 6
做...
name ... time time1
0 Tom ... 13 8
1 Tom ... 16 8
2 Ben ... 10 6
3 Ben ... 12 6
基本上df1包含Tom和Ben最快的时间,而df包含所有其他时间。我想合并数据帧,因此最快的时间总是与其他时间在同一行。任何帮助,将不胜感激。在此先感谢。
答案 0 :(得分:2)
您只需使用merge进行操作,然后根据需要重命名列名称。
import pandas as pd
# First sheet, use your SQL data
d = {'col1': [1, 2], 'col2': [3, 4]}
df_sheet_1 = pd.DataFrame(data=d)
# Second sheet, read the code of Python script, split it up on new lines, add to dataframe
with open(__file__) as input_file:
python_script = input_file.read()
d = {'code':python_script.split('\n')}
python_df_sheet_2 = pd.DataFrame(data=d)
writer = pd.ExcelWriter('testoutput.xlsx')
df_sheet_1.to_excel(writer, index=False, sheet_name='test1')
python_df_sheet_2.to_excel(writer, index=False, sheet_name='python_code')
writer.save()
更改列名:
>>> df = pd.merge(df1, df2, how='outer', on='name')
>>> df
name time_x time_y
0 Tom 13 8
1 Tom 16 8
2 Ben 10 6
3 Ben 12 6