赞
踩
import pandas as pd
# 创建一个Dataframe
data = {'Name': ['John', 'Bob', 'Mallory', 'Alice'],
'Location': ['New York', 'Paris', 'Berlin', 'London'],
'Age': [24, 13, 53, 33]
}
df = pd.DataFrame(data)
print (df)
调试代码时,可以使用Python自带的调试工具,例如print语句来查看代码的运行状态。也可以使用第三方调试工具,比如pdb、ipdb等来实时跟踪代码的执行过程。
使用Python标准库中的timeit
模块,可以方便的计算代码的执行时间,比如:
import pandas as pd import timeit start = timeit.default_timer() # 创建一个Dataframe data = {'Name': ['John', 'Bob', 'Mallory', 'Alice'], 'Location': ['New York', 'Paris', 'Berlin', 'London'], 'Age': [24, 13, 53, 33] } df = pd.DataFrame(data) print (df) end = timeit.default_timer() print('代码执行时间:', (end - start)*1000, 'ms')
timeit.default_timer()
timeit.default_timer()
是 Python 中 timeit 模块的一个函数,它可以返回当前时间的时间戳,以便用来计算代码的执行时间。
import pandas as pd import timeit start = timeit.default_timer() # 创建一个Dataframe data = {'Name': ['John', 'Bob', 'Mallory', 'Alice']*25, 'Location': ['New York', 'Paris', 'Berlin', 'London']*25, 'Age': [24, 13, 53, 33]*25 } df = pd.DataFrame(data) print (df) end = timeit.default_timer() print('代码执行时间:', (end - start)*1000, 'ms')
import pandas as pd import timeit start = timeit.default_timer() # 创建一个Dataframe data = {'Name': ['John', 'Bob', 'Mallory', 'Alice']*25, 'Location': ['New York', 'Paris', 'Berlin', 'London']*25, 'Age': [24, 13, 53, 33]*25 } df = pd.DataFrame(data) # 创建一个list list_data = [{'Name': 'John','Location': 'New York','Age': 24}, {'Name': 'Bob','Location': 'Paris','Age': 13}, {'Name': 'Mallory','Location': 'Berlin','Age': 53}, {'Name': 'Alice','Location': 'London','Age': 33}] * 25 print (df) end = timeit.default_timer() print('代码执行时间:', (end - start)*1000, 'ms')
可以使用df.loc
函数,来找到data中Name = John的数据,例如:
# 找到data中Name = John的数据
john_data = df.loc[df['Name'] == 'John']
print(john_data)
可以使用list comprehension
循环,来找到list_data中Name = John的数据,例如:
# 找到list_data中Name = John的数据
john_data = [data for data in list_data if data['Name'] == 'John']
print(john_data)
import pandas as pd import timeit start = timeit.default_timer() # 创建一个Dataframe data = {'Name': ['John', 'Bob', 'Mallory', 'Alice']*25, 'Location': ['New York', 'Paris', 'Berlin', 'London']*25, 'Age': [24, 13, 53, 33]*25 } df = pd.DataFrame(data) # 创建一个list list_data = [{'Name': 'John','Location': 'New York','Age': 24}, {'Name': 'Bob','Location': 'Paris','Age': 13}, {'Name': 'Mallory','Location': 'Berlin','Age': 53}, {'Name': 'Alice','Location': 'London','Age': 33}] * 25 # 找到data中Name = John的数据 start_data = timeit.default_timer() john_data = df.loc[df['Name'] == 'John'] end_data = timeit.default_timer() # 找到list_data中Name = John的数据 start_list = timeit.default_timer() john_list = [data for data in list_data if data['Name'] == 'John'] end_list = timeit.default_timer() print(john_data) print(john_list) end = timeit.default_timer() print('df找到Name = John的数据:', (end_data - start_data)*1000, 'ms') print('list找到Name = John的数据:', (end_list - start_list)*1000, 'ms') print('代码总执行时间:', (end - start)*1000, 'ms') 输出
df找到Name = John的数据: 5.7543089999999575 ms
list找到Name = John的数据: 0.009135999999965172 ms
代码总执行时间: 17.603628000000036 ms
!!!dataframe太慢了!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。