其实我希望的输出是这种: score只一列,下面又分了t1,t2两列 score t1,t2 90,8580,7595,88
时间: 2024-03-06 22:46:51 浏览: 63
好的,您可以使用`pandas`库中的`concat`函数来合并列,并使用`pandas`库中的`melt`函数将新的列名转换为值。下面是一个实现您需求的示例程序:
```python
import pandas as pd
# 读取第一个csv文件
df1 = pd.read_csv('file1.csv')
column1_name = df1.columns[2]
column1 = df1.iloc[:, 2]
# 读取第二个csv文件
df2 = pd.read_csv('file2.csv')
column2_name = df2.columns[2]
column2 = df2.iloc[:, 2]
# 将两个列合并到一个DataFrame中
df = pd.DataFrame({column1_name: column1, column2_name: column2})
# 修改列名
df = df.rename(columns={column1_name: 't1', column2_name: 't2'})
# 合并列
df = pd.concat([df['t1'], df['t2']], axis=0, keys=['score.t1', 'score.t2']).reset_index()
# 将新的列名转换为值
new_df = df.melt(id_vars=['index'], var_name='score', value_name='value')
new_df = new_df.pivot(index='index', columns='score', values='value').reset_index()
# 将数据写入新的csv文件中
new_df.to_csv('new_file.csv', index=False)
# 打印新的csv文件内容
print(pd.read_csv('new_file.csv'))
```
在这个示例程序中,我们首先读取两个csv文件中的特定列,并将它们合并到一个新的DataFrame中。然后,我们使用`rename`函数将`Score1`和`Score2`列名修改为`t1`和`t2`,使用`concat`函数将`t1`和`t2`合并到一个新的DataFrame中。接着,我们使用`melt`函数将新的列名转换为值,并使用`pivot`函数将新的列名和对应的值转换为新的DataFrame。最后,使用`to_csv`函数将DataFrame写入新的csv文件中,并使用`read_csv`函数打印新的csv文件内容。
请注意,您需要根据自己的实际情况修改程序中的文件名、特定列的索引和新列名。
阅读全文