【发布时间】:2015-10-30 15:49:41
【问题描述】:
我有两个 CSV 文件,每个文件的第一列时间值都是浮点数。在第二个 csv 文件中缺少一些值并且被延迟。我需要从第二个 csv 写入第三个 csv 文件值,但要从第一个 csv 写入相应的索引。
更新
时间以秒为单位。为了以一定的精度匹配右行,我们可以设置变量 diff = 0.3s。
first.csv
T1[s]
1.2
2.2
3.2
4.2
5.2
6.2
second.csv
T2[s]
2.31
3.31
4.31
third.csv
T1[s]|T2[s]
---------
1.2 |
2.2 | 2.31
3.2 | 3.31
4.2 | 4.31
5.2 |
6.2 |
代码
import numpy as np
import pandas as pd
fileName1 = "first.csv"
fileName2 = "second.csv"
df1 = pd.read_csv(fileName1)
df2 = pd.read_csv(fileName2)
t1List = df1['T1']
t2List = df2['T2']
for t2 in t2List:
isIn = np.isclose(t1List, t2, atol=0.3).any
print(isIn)
【问题讨论】:
-
您的问题不清楚,请发布原始输入数据、您的编码工作和所需的输出
-
第二个 csv 有空字段吗?还是每列的长度真的不同?如果是后者,你怎么知道第一个 csv 的正确行?
-
我更新了问题。为了以一定的精度匹配右行,我们可以让变量 diff 等于 0.3s。是的,在 second.csv 中只有三个浮点数。
标签: python csv numpy pandas compare