python:HDF 와 CSV 저장 우열 비교 분석
결론 1:수백 KB 이상 의 데 이 터 는 모두 h5 를 사용 하 는 것 이 좋다.
결론 2:몇 KB 의 데이터 h5 는 오히려 느리다
순서
import pandas as pd
import numpy as np
from wja.wja_tool import test_time as tt
from wja import wja_tool as tool
df = tool.generate_sampleDF(row, col)
tt().run()
df.to_csv('try.csv')
tt().end()
tt().run()
df.to_hdf('try.h5','df',mode='w')
tt().end()
tt().run()
df1 = pd.read_csv('try.csv')
tt().end()
tt().run()
df2 = pd.read_hdf('try.h5')
tt().end()
대비 1:데이터 10*1df = tool.generate_sampleDF(10,1)
# csv
# hdf
# csv
# hdf
:0.015
:0.9985
:0.009
:0.0369
대비 2:데이터 100*10df = tool.generate_sampleDF(100,10)
# csv
# hdf
# csv
# hdf
:0.017
:1.1016
:0.01
:0.013
대비 3:데이터 1000*100df = tool.generate_sampleDF(1000,100)
# csv
# hdf
# csv
# hdf
:0.2383
:1.0308
:0.0499
:0.016
대비 4:데이터 10000*100df = tool.generate_sampleDF(10000,100)
# csv
# hdf
# csv
# hdf
:2.0895
:1.0073
:0.4055
:0.0169
대비 5:데이터 10000*1000
# csv
# hdf
# csv
# hdf
df = tool.generate_sampleDF(10000,1000)
# csv
# hdf
# csv
# hdf
:23.5693
:2.2057
:3.3697
:0.0619
python:n 개 점 m 변 유 권 무 방향 도위치
m 변:두 점 사이 에 m 변 의 가중치 가 존재 합 니 다.
권한:각 변 은 하나의 수 치 를 대표 합 니 다.
무 방향:행진 방향 을 정 하지 않 았 습 니 다.
규정:
1.두 점 사이 의 행진 노선 은 최종 가중치 가 지나 간 변 의 가중치 의 최대 치 이다.
2.두 점 사이 의 주 행 법 은 한 가지 가 아니 라 최종 적 으로 최소 치 를 최종 주 행 법 으로 한다.
물음:
두 점 사이 의 최종 가중치 가 얼마 입 니까?
위의 그림 과 같이 우 리 는 이 를 목록 형식 으로 쓸 수 있다.앞의 두 자 리 는 어 릴 때 부터 큰 두 점,마지막 대표 권 치 이다.예 를 들 어
[1,2,2]1 과 2 를 대표 하 는 가중치 는 2 로 유추 된다.
n,m = 5, 10
road = [[1, 2, 2], [1, 3, 3], [1, 4, 7], [1, 5, 2],
[2, 3, 4], [2, 4, 9], [2, 5, 5], [3, 4, 4],
[3, 5, 5], [4, 5, 3]]
def hold(list1, list2):
jiaoji = list(set(list1)&set(list2))
need = [i for i in set(list1+list2) if i not in jiaoji]
need.sort()
return need
def get(road):
option = {}
for i in range (m):
option[(road[i][0],road[i][1])] = [road[i][2]]
for i in range (m):
for j in range(i+1,m):
dot = hold(road[i][:2], road[j][:2])
if len(dot)==2:
if (dot[0],dot[1]) in option.keys():
option[(dot[0],dot[1])].append(max([road[i][2],road[j][2]]))
else:
option[(dot[0],dot[1])] = []
option[(dot[0],dot[1])].append(max([road[i][2],road[j][2]]))
road_new = []
for i in option.items():
road_new.append(list(i[0])+[min(i[1])])
if road==road_new:
print(road_new)
return road_new
return get(road_new)
출력 결과모든 가능 한 방법 은 다음 과 같 으 며,마지막 출력 에서 가장 짧 은 값 경 로 를 사용 합 니 다.
예 를 들 어[2,3,3]:2 에서 3 까지 가 는 가장 짧 은 가중치 경 로 는 3 이 고 해당 경 로 는 그림 에서 2-1-3 까지 갈 수 있다.
예 를 들 어[3,5,3]:3 에서 5 로 가 는 가장 짧 은 가중치 경 로 는 3 이 고 해당 경 로 는 그림 에서 3-1-5 까지 이다.
[[1, 2, 2], [1, 3, 3], [1, 4, 3], [1, 5, 2], [2, 3, 3],
[2, 4, 3], [2, 5, 2], [3, 4, 3], [3, 5, 3], [4, 5, 3]]
이상 의 python:HDF 와 CSV 저장 의 우열 비교 분석 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.