如何合并CSV';s使用熊猫展平数据

如何合并CSV';s使用熊猫展平数据,csv,python-3.x,pandas,Csv,Python 3.x,Pandas,我有两个不同的CSV,它们共享一个共同的索引。(‘ID’) File1=对ID的重复数据消除: ID 54634 1004789 7365412 File2=按ID和时间戳执行的操作: ID TimeStamp Action 54634 10/1/2015 12:38 XX 1004789 9/1/2015 11:14 YY 1004789 7/4/2015 9:10 ZZ 7365412 6/11/2015 13:44 WW 54634 8/1/2015 12

我有两个不同的CSV,它们共享一个共同的索引。(‘ID’)

File1=对ID的重复数据消除:

ID
54634
1004789
7365412
File2=按ID和时间戳执行的操作:

 ID  TimeStamp   Action
 54634   10/1/2015 12:38 XX
 1004789 9/1/2015 11:14  YY
 1004789 7/4/2015 9:10   ZZ
 7365412 6/11/2015 13:44 WW
 54634   8/1/2015 12:38  YY
 54634   5/1/2015 12:38  ZZ
 54634   3/1/2015 12:38  WW
我的简单代码如下:

import pandas as pd
import os

os.chdir(r"C:\Users\XXXXXX\Documents")

data = pd.read_csv('File1.csv')

data1 = pd.read_csv('File2.csv')

pd.merge(File1, File2, on ='ID')
上述代码导致:

        ID        TimeStamp Action
0    54634  10/1/2015 12:38     XX
1    54634   8/1/2015 12:38     YY
2    54634   5/1/2015 12:38     ZZ
3    54634   3/1/2015 12:38     WW
4  1004789   9/1/2015 11:14     YY
5  1004789    7/4/2015 9:10     ZZ
6  7365412  6/11/2015 13:44     WW
我想要完成的是拥有和结束数据集,这类似于:(操作通过时间戳升序附加到ID的右侧)

我已经玩了很多次“concat”,但还没有真正弄明白。(很明显,我不是一个新手)

我甚至不确定我是否能在熊猫身上完成我想做的事情


如果您有任何建议或指导,我们将不胜感激。

听起来您在寻找某种类型的
groupby
;这将使您接近您想要的:

m = pd.merge(data1, data2, on ='ID')
m.groupby('ID').Action.apply(lambda x: ' '.join(x.tolist()))

ID
54634   XX YY ZZ WW
1004789 YY ZZ
7365412 WW

非常感谢。我想你的意思是“x”而不是“s”,但这完全有效。这是在“下降”(熊猫合并的默认设置)中,但我可以解决这个问题。你太棒了!
m = pd.merge(data1, data2, on ='ID')
m.groupby('ID').Action.apply(lambda x: ' '.join(x.tolist()))

ID
54634   XX YY ZZ WW
1004789 YY ZZ
7365412 WW