如何在数据帧上使用def-rereturn或for in语句来避免python/panda中的代码重复



有人能看看下面的代码并建议我做错了什么吗。

我有两个熊猫数据帧-df和x1两者都有相同的列和列名

我必须为df执行下面的一组代码。日期约会、x1.Date_Appoint和类似的约会。Date_Scheduled和x1.Date_Scheduld。因此创建了列和数据帧的列表。

我正试图写一个代码,但显然我做错了什么。请提供建议。

import pandas as pd
df = pd.read_csv(file1.csv)
x1 = pd.read_csv(file2.csv)

# x1 is a dataframe created after filtering on one column. # df and x1 have same number of columns and column names # x1 is a subset of df``

dataframe = ['df','x1']
column = ['Date_Appointment', 'Date_Scheduled']
def df_det (dataframe.column):
(for df_det in dataframe.column :
d_da = df_det.describe()
mean_da = df_det.value_counts().mean()
median_da = df_det.value_counts().median()
mode_da = df_det.value_counts().mode()
print('Details of all  appointments', 'n', 
d_da, 'n',
'Mean = ', mean_da,'n', 
'Median = ', median_da,'n',
'Mode = ',mode_da,'n'))

请指明步骤。提前谢谢。

看起来函数应该有两个参数——dataframecolumn——这两个参数都是列表,所以我将名称设为复数。

然后你需要对每个论点进行循环。请注意,您还为函数中的一个数据帧指定了与函数相同的名称,因此我更改了函数的名称。

dataframes = [dataframe1, dataframe2]
columns = ['Date_Appointment', 'Date_Scheduled']
def summary_stats(dataframes, columns):
for df in dataframes:
for col in cols:
df_det = df.loc[:, col]
# print summary stats about df_det

最新更新