我有一个日志文件(在这种情况下为 Text.TXT):
# 1: 5
# 3: x
# F: 5.
# ID: 001
# No.: 2
# No.: 4
# Time: 20191216T122109
# Value: ";"
# Time: 4
# Time: ""
# Time ms: ""
# Date: ""
# Time separator: "T"
# J: 1000000
# Silent: false
# mode: true
Timestamp;T;ID;P
16T122109957;0;6;0006
Run Code Online (Sandbox Code Playgroud)
要将此日志文件读入 Pandas 并忽略所有标题信息,我将使用skiprows最多第 16 行,如下所示:
pd.read_csv('test.TXT',skiprows=16,sep=';')
Run Code Online (Sandbox Code Playgroud)
但这会产生,EmptyDataError因为它跳过了数据开始的位置。为了完成这项工作,我不得不在第 11 行使用它:
pd.read_csv('test.TXT',skiprows=11,sep=';')
Timestamp T ID P
0 16T122109957 0 6 6
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果数据直到第 17 行才开始,在这种情况下,为什么我需要请求跳过第 …
我想合并两个数据框,df2 可能有更多列,并且总是 1 行。我希望 df2 行中的数据覆盖 df 中的匹配行。注意:ser和no列一起使一行唯一。
import pandas as pd
df = pd.DataFrame({'ser': {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 2, 7: 2, 8: 2}, 'no': {0: 0, 1: 1, 2: 2, 3: 0, 4: 1, 5: 2, 6: 0, 7: 1, 8: 2}, 'c': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1}})
df2 = pd.DataFrame({'ser': {0: 1}, …Run Code Online (Sandbox Code Playgroud)