我目前正在尝试使用numpy的genfromtxt函数导入.txt文件。通常,这很好用。但是,这次我导入的是热量与时间的txt文件,其中时间以00:00:00格式记录。因此,在10秒标记处,时间栏将显示为00:00:10。在一个小时标记处,时间列将显示为01:00:00,依此类推。不幸的是,numpy的genfromtxt函数将其读取为“ nan”。有关如何解决此问题的任何建议?
这是我的代码:
<ReactTooltip afterShow={() => { setTimeout(ReactTooltip.hide(), 5000) }} />
答案 0 :(得分:0)
您是否尝试过使用Pandas
导入文件?当数据结构合理时,Pandas
通常非常好。
import pandas as pd
df = pd.read_csv('Lucifer Heat Treating Oven Heat Up Time(1).txt')
答案 1 :(得分:0)
我想出了答案。可能有一种更简单的方法,但是我发现是进入txt文件并删除所有冒号。这使一分钟看上去像是“ 100”,而一小时看上去像是“ 10000”。
我使用以下代码将时间戳“固定”到我们的60秒分钟和60分钟小时的世界中。可能有一种更简单的方法,而经验更丰富的编码人员可能会嘲笑我的代码的笨拙和庞大,但这确实有效。
def fix_time(array):
result = []
j = 10
k = 20
l = 1
y = 1
p = 0
for i in array:
n = i
if i < 100:
result.append(i)
elif n/j < k and i < 10000:
i = i-l*40 - p * 40
result.append(i)
elif n/j < k and i >= 10000:
i = i - y * 40 - p * 40
result.append(i)
else:
k = k + 10
l = l + 1
if l == 60:
y = 160
k = 1010
if n/j <= k and k < 1010:
i = i - l * 40 - p * 40
result.append(i)
elif n/j <= k and k >= 1010 and k < 1020:
i = i - y * 40 - p * 40
result.append(i)
elif n/j <= k and k >= 1020:
p = p + 1
i = i - y * 40 - p * 40
result.append(i)
elif p > 1:
k = k + 400
y = y + 160
p = 0
if n/j <= k:
i = i - y * 40 - p * 40
result.append(i)
else:
while n/j >= k:
k = k + 10
p = p + 1
if n/j < k:
p = p + 1
i = i - y * 40 - p * 40
result.append(i)
return result