Python列groupby和split

Python列groupby和split,python,python-3.x,dataframe,csv-write-stream,Python,Python 3.x,Dataframe,Csv Write Stream,嗨,我在Python数据框中有以下数据: input_string value Apple 5 Apple 6 Pear 2 Pear 4 Grape 5 Grape 7 我希望将输出写入csv文件,如下所示: input_string,col1,col2 Apple,5,6 Pear,2,4 Grape,5,7 我怎样才能做到这一点?我试着使用分组

嗨,我在Python数据框中有以下数据:

input_string     value
Apple            5
Apple            6
Pear             2
Pear             4
Grape            5
Grape            7
我希望将输出写入csv文件,如下所示:

input_string,col1,col2
Apple,5,6
Pear,2,4
Grape,5,7
我怎样才能做到这一点?我试着使用分组方式

df_combined_values = (df.groupby('input_string', sort=False)['value'].agg([lambda x: ','.join(map(str, x))]).reset_index())
print(df)
df_combined_values.to_csv(r'C:/someFolder/output_file.csv', index=False, quoting=csv.QUOTE_NONE, encoding='utf8', escapechar='\\')
“打印”命令将删除

     input_string     <lambda>

0    Apple            5,6
1    Pear             2,4
2    Grape            5,7
输入字符串
0苹果5,6
1梨2,4
2葡萄5,7
但csv文件显示:

input_string,<lambda>
Apple,5\,6
Pear,2\,4
Grape,5\,7
输入字符串,
苹果,5,6
梨,2,4
葡萄,5,7
尝试以下代码:

your_dataframe = pd.DataFrame({'input_string': ['Apple', 'Apple', 'Pear', 'Pear', 'Grape', 'Grape', 'Apple'], 'value':[5,6,2,4,5,7, 10]})
your_dataframe = your_dataframe.groupby('input_string')['value'].apply(list).reset_index()
your_dataframe
for i, row in your_dataframe.iterrows():
    for j, v in enumerate(row['value']):
        your_dataframe.loc[i, f'col{j + 1}'] = v
del your_dataframe['value']
结果

input_string,col1,col2,col3
Apple,5.0,6.0,10.0
Grape,5.0,7.0,
Pear,2.0,4.0,

你总是有相同的重复次数吗?你在这里试过这个答案吗?非常感谢你!