我有一个包含节点信息的.csv文件(包括节点id,x,y),我尝试为.csv文件中的每个记录生成对象。现在我使用的是apply方法,但它的运行时间和for循环差不多(1分钟)。由于.csv文件包含大量的记录,我如何才能有效地(减少运行时间)执行此操作。你知道吗
import pandas as pd
import datetime
class Node:
def __init__(self):
self.node_id = 0
self.x = 0.0
self.y = 0.0
def load_data(x):
node = Node()
node.node_id = x['node_id']
node.x = x['x']
node.y = x['y']
return node
if "__main__" == __name__:
time1 = datetime.datetime.now()
node_info = pd.read_csv('input_node.csv', header = 0)
node_series = node_info.apply(Node.load_data,axis=1)
node_list = list(node_series.values)
time2 = datetime.datetime.now()
time_delta = time2 - time1
我做了一些测试,您最好在读取csv行时构建节点:
这应该比您当前的实现快得多
相关问题 更多 >
编程相关推荐