Python数据帧合并

2024-09-30 08:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要合并两个数据帧。我通过读取文件创建了以下几个数据帧

我需要做的是拉入“Depth”列并将其插入到新的数据帧中。然后,我将合并数据框中的列“Depth”重命名为该部分的序列号。然后重复

sigData示例

  Current  Depth  Time Velocity
0     130  11066   0.1    26516
1     150  13716   0.2    24090
2     153  15995   0.3    25052
3     157  19109   0.4    26596
4     160  20298   0.5    19947

循环通过所有“sigData”文件后生成的数据帧应如下所示:

深度示例

     Time    Sn1     Sn2      Sn3
0     0.1  11066   00001    00001
1     0.2  13716   00002    00002
2     0.3  15995   00003    00003
3     0.4  19109   00004    00004
4     0.5  20298   00005    00005

我将对“电流”和“速度”做同样的处理。结果应该是三个数据帧。一个是所有部分的“深度”,一个是所有部分的“速度”,一个是所有部分的“电流”

velocityDF = pd.DataFrame(columns=['Time'])
velocityDF = velocityDF.join(sigData['Velocity'], on='Time', sort='True')
velocityDF.rename(columns={'Velocity': row['SerialNumber']}, inplace=True)

结果:

Empty DataFrame
Columns: [Time, 400602902, 400621787, 400621434, 400619512]
Index: []

depthDF = pd.DataFrame(columns=['Time'])
depthDF = depthDF.merge(sigData['Depth'], on='Time', sort='True')
depthDF.rename(columns={'Depth': row['SerialNumber']}, inplace=True)

结果:

ValueError: can not merge DataFrame with instance of type <class 'pandas.core.series.Series'>

Tags: columns数据true示例dataframetimeon速度

热门问题