import numpy as np
import pandas as pd
columns_list = list(df)
print(columns_list)
# ["A","B","C","D"]
# 可以从上面的df取列表
df_empty = pd.DataFrame(columns=columns_list)
# 上面创建的DataFrame有4列,每一行没有成员是空的。
# 结果:
Empty DataFrame
Columns: [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 df
else:
# xxxx
if df.empty:
return pd.DataFrame() # 通过空df流通
# xxxx
return df
except Exception as e:
print(e)
traceback.print_exc() #打印所有异常到屏幕
raise
def fun3(df):
try:
if df.empty: # 开头先判空
return df
else:
# xxxxxx
return df
except Exception as e:
print(e)
traceback.print_exc() #打印所有异常到屏幕
raise