pandas 创建只有一行的临时dataframe时,dataframe为空

问题描述:

写代码是遇到一个问题,在函数内临时生成一个只有一行的dataframe时,结果内容为空。表现如下:

单独进行验证也出现了类似的问题

_df = pd.DataFrame()
_df['close'] = 1 
_df['time'] = datetime.datetime.now()
print(_df)

输出为空

Empty DataFrame
Columns: [close, time]
Index: []

问题原因:

dataframe的列,即使只有一行存的也是一个序列(series),存一个单独的值,最后会变成空值,改成下面这种代码就行:

df = pd.DataFrame()
_df['close'] = pd.Series(1)
_df['time'] = pd.Series(datetime.datetime.now())
print(_df)

输出

   close                       time
0      1 2021-03-08 03:26:15.504948

简化完整例子:    

df = pd.DataFrame()

def test(df):
    for i in range(5):
        _df = pd.DataFrame()
        _df['close'] = pd.Series(i)
        _df['time'] = pd.Series(datetime.datetime.now())
        df = pd.concat([df, _df], axis=0)
    return df

df = test(df)
df

结果:

	close	time
0	0	2021-03-08 03:31:30.679988
0	1	2021-03-08 03:31:30.681983
0	2	2021-03-08 03:31:30.683978
0	3	2021-03-08 03:31:30.685972
0	4	2021-03-08 03:31:30.688965

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页