pandas 创建dataframe 写成def 函数,规定col 类型

def 好了 调用时候想创建df 写成creat_df_type(df) 报错如下
'NameError: name 'df' is not defined', 不写成def 我要在自己主程序写好几次,还要声明 global

def creat_df_type():
    data_frame = pd.DataFrame(columns=['Parameter','Step','Interval','Value','Filename']) #mergeSingleV .dtypes
    data_frame = data_frame.astype( dtype={'Parameter' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})
    return data_frame

image.png

    mergeSingleV = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str}) #mergeSingleV .dtypes
    mergeStableV = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})         
    mergeSingleM = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})    
    mergeSingleMStep = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})    
    mergeStableM = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})    
    mergeOther = pd.DataFrame(columns=['Filename','Par','Step','Interval','Value']).astype( dtype={'Par' : str,'Step': int,'Interval': float,'Value': float,'Filename': str})
阅读 2.5k
1 个回答

铁子,你这问题我看懂了,又没完全懂:

  1. creat_df_type 在定义的时候没有参数,你调用的时候怎么能将 df 作为参数传进去呢?你应该直接用 mergeSingleV = create_df_type() 就行了啊
  2. creat_df_type 名称是有 typo 的吧,想改就改一下
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏