【发布时间】:2019-10-20 14:02:52
【问题描述】:
我正在寻找一个过程的名称,该过程在其他几个函数中处理一个函数的输出(试图为我的问题找到更好的词)。一些伪/实际代码将非常有帮助。
我写了以下代码:
def read_data():
read data from a file
create df
return df
def parse_data():
sorted_df = read_data()
count lines
sort by date
return sorted_df
def add_new_column():
new_column_df = parse_data()
add new column
return new_column_df
def create_plot():
plot_data = add_new_column()
create a plot
display chart
我想了解的是如何跳过一个函数,例如创建以下链read_data() -> parse_data() -> create_plot()。
由于代码现在看起来(由于所有返回值以及它们在函数之间传递的方式),它需要我更改最后一个函数中的输入数据,create_plot()。
我怀疑我正在创建逻辑错误的代码。
有什么想法吗?
原码:
import pandas as pd
import matplotlib.pyplot as plt
# Read csv files in to data frame
def read_data():
raw_data = pd.read_csv('C:/testdata.csv', sep=',', engine='python', encoding='utf-8-sig').replace({'{':'', '}':'', '"':'', ',':' '}, regex=True)
return raw_data
def parse_data(parsed_data):
...
# Convert CreationDate column into datetime
raw_data['CreationDate'] = pd.to_datetime(raw_data['CreationDate'], format='%Y-%m-%d %H:%M:%S', errors='coerce')
raw_data.sort_values(by=['CreationDate'], inplace=True, ascending=True)
parsed_data = raw_data
return parsed_data
raw_data = read_files()
parsed = parsed_data(raw_data)
【问题讨论】:
-
使用函数参数,例如
def parse_data(data)。不要让parse_data调用read_data,而是将该数据从一个传递到另一个:parse_data(read_data())。这样每个功能都是独立的,您可以灵活地链接它们。
标签: python