我正在尝试添加两个csv文件并转换为csv。
first.csv
index val1 val2 val3
0 19 29 30
1 29 54 30
2 87 98 90
second.csv
val4 val5 val6
19 29 30
29 54 30
87 98 90
当我尝试并排添加两个csv时,第二个csv的列在第一个csv行之前为空,并且仅是简明的。 Resule来了:
index val1 val2 val3 val4 val5 val6
0 19 29 30
1 29 54 30
2 87 98 90
3 19 29 30
4 29 54 30
5 87 98 90
预期结果:
index val1 val2 val3 val4 val5 val6
0 19 29 30 19 29 30
1 29 54 30 29 54 30
2 87 98 90 87 98 90
我有df1和df2那个csv的两个数据帧。
df3 = pd.concat([df1, df2], axis=1)
df3.to_csv('test1.csv',',',dtype='unicode8')
为什么我遇到这个问题。 请对此问题提供帮助谢谢, 桑达尔
答案 0 :(得分:1)
通过以下操作创建数据帧:
已复制以下内容:
val1 val2 val3
19 29 30
29 54 30
87 98 90
df1=pd.read_clipboard();
val4 val5 val6
19 29 30
29 54 30
87 98 90
df2=pd.read_clipboard();
请您尝试以下。
import pandas as pd
pd.concat([df1,df2], axis=1)
输出如下。
val1 val2 val3 val4 val5 val6
0 19 29 30 19 29 30
1 29 54 30 29 54 30
2 87 98 90 87 98 90
答案 1 :(得分:0)
使用df2.reset_index(drop=True, inplace=True)
并照常进行。
示例:
df1 = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], columns=['val1', 'val2', 'val3'])
df1
+---+--------+------+------+
| | val1 | val2 | val3 |
+---+--------+------+------+
| 0 | 1 | 2 | 3 |
| 1 | 4 | 5 | 6 |
| 2 | 7 | 8 | 9 |
+---+--------+------+------+
df2 = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], columns=['val4', 'val5', 'val6'], index=[2, 9, 8])
df2
+----+------+------+------+
| | val4 | val5 | val6 |
+----+------+------+------+
| 2 | 1 | 2 | 3 |
| 9 | 4 | 5 | 6 |
| 8 | 7 | 8 | 9 |
+----+------+------+------+
df2.reset_index(drop=True, inplace=True)
pd.concat([df1, df2], axis=1).to_csv('saveit.csv')
+---+-------+------+------+------+------+------+
| | val1 | val2 | val3 | val4 | val5 | val6 |
+---+-------+------+------+------+------+------+
| 0 | 1 | 2 | 3 | 1 | 2 | 3 |
| 1 | 4 | 5 | 6 | 4 | 5 | 6 |
| 2 | 7 | 8 | 9 | 7 | 8 | 9 |
+---+-------+------+------+------+------+------+