有人可以看下面的代码,并提出我做错了什么。
我有2个熊猫数据帧-df和x1两者具有相同的列和列名
我必须对df.Date_Appointment,x1.Date_Appointment和df.Date_Scheduled和x1.Date_Scheduled执行类似的代码集。这样就为列和数据框创建了一个列表。
我正在尝试编写单个代码,但显然我做错了。请指教。
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'))
请说明步骤。预先谢谢你。
似乎您的函数应该有两个参数-dataframe
和column
-这两个都是列表,因此我将名称复数了。
然后您需要遍历每个参数。请注意,您还在函数中为数据帧分配了与函数相同的名称,因此我更改了函数的名称。
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