Python 如何创建具有特定列的空数据框?
我有一个数据帧,它总是用相同的列初始化,但有时没有任何数据:Python 如何创建具有特定列的空数据框?,python,pandas,Python,Pandas,我有一个数据帧,它总是用相同的列初始化,但有时没有任何数据: import pandas as pd data = [] df = pd.DataFrame(data, columns=['a', 'b', 'c']) 但这失败了,错误如下: Traceback (most recent call last): … ValueError: Shape of passed values is (0, 0), indices imply (3, 0) 如何创建包含列的空数据框?,传递数据=
import pandas as pd
data = []
df = pd.DataFrame(data, columns=['a', 'b', 'c'])
但这失败了,错误如下:
Traceback (most recent call last):
…
ValueError: Shape of passed values is (0, 0), indices imply (3, 0)
如何创建包含列的空数据框?,传递数据=[]
工作:
In [85]: df = pd.DataFrame([], columns=['a', 'b', 'c'])
In [86]: df
Out[86]:
Empty DataFrame
Columns: [a, b, c]
Index: []
对于旧版本的Pandas,不要传递任何数据
:
In [69]: df = pd.DataFrame(columns=['a', 'b', 'c'])
In [70]: df
Out[70]:
Empty DataFrame
Columns: [a, b, c]
Index: []
或通过data=None
:
In [71]: df = pd.DataFrame(None, columns=['a', 'b', 'c'])
In [72]: df
Out[72]:
Empty DataFrame
Columns: [a, b, c]
Index: []
,传递数据=[]
工作:
In [85]: df = pd.DataFrame([], columns=['a', 'b', 'c'])
In [86]: df
Out[86]:
Empty DataFrame
Columns: [a, b, c]
Index: []
对于旧版本的Pandas,不要传递任何数据
:
In [69]: df = pd.DataFrame(columns=['a', 'b', 'c'])
In [70]: df
Out[70]:
Empty DataFrame
Columns: [a, b, c]
Index: []
或通过data=None
:
In [71]: df = pd.DataFrame(None, columns=['a', 'b', 'c'])
In [72]: df
Out[72]:
Empty DataFrame
Columns: [a, b, c]
Index: []
如果数据确实存在,那么,有没有比以下更干净的方法来设置它:
df=pd.DataFrame(数据=(如果len(数据)没有),columns=['a','b','c'])
呢?只有通常的技巧。要么使用if..else
语句,一个条件表达式(如您所示),要么try..except
。如果数据确实存在,那么,有没有比以下方法更干净的方法:df=pd.DataFrame(data=(data if len(data)else None),columns=['a',b',c'])
来设置它?只有通常的技巧。可以使用if..else
语句、条件表达式(如图所示),也可以使用try..except
。