
import numpy as npimport pandas as pdcolumns_list = list(df)print(columns_list)# ["A","B","C","D"]# 可以从上面的df取列表df_empty = pd.DataFrame(columns=columns_list)# 上面创建的DataFrame有4列,每一行没有成员是空的。# 结果:Empty DataFrameColumns: [A, B, C, D]Index: []
这里有一个思路, 全部def fun()方法都通过空df流通,这样可以写大量的代码而不混乱,按照经验来说不会把pandas内置方法分开为一个自定义方法,只写属于程序的方法。
例如:一个def fun(df): 是用来图片信息列的,进来的df,可能有3列、5列、8列,先判断有没有数据,没有数据就直接返回df,有数据的话,可能是查数据库、merge()合并等操作,最后返回的是4列、6列、8列,那么这个方法就会很有用。
def fun():方法和def fun():方法之间就直接用df来传输,其他地方增加直接增加一句话就好了
df = fun1(df) # 通过空df流通df = fun2(df) # 通过空df流通df = fun3(df) # 通过空df流通def fun2(df):try:if df.empty: # 开头先判空return dfelse:# xxxxif df.empty:return pd.DataFrame() # 通过空df流通# xxxxreturn dfexcept Exception as e:print(e)traceback.print_exc() #打印所有异常到屏幕raisedef fun3(df):try:if df.empty: # 开头先判空return dfelse:# xxxxxxreturn dfexcept Exception as e:print(e)traceback.print_exc() #打印所有异常到屏幕raise