pandas创建空dataframe,如果没有指定列类型则默认为object类型
pandas.DataFrame([],columns=['a','b','c']).info()
'''输出如下:
<class 'pandas.core.frame.DataFrame'>
Index: 0 entries
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 a 0 non-null object
1 b 0 non-null object
2 c 0 non-null object
dtypes: object(3)
memory usage: 0.0+ bytes'''
要是想要指定类型,个人从Stack Overflow找到两种方法
1.利用numpy
import numpy as np
import pandas as pd
dtypes = np.dtype([
('a', str),
('b', int),
('c', float),
('d', np.datetime64),
])
data = np.empty(0, dtype=dtypes)
df = pd.DataFrame(data)
'''df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 0 entries
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 a 0 non-null object
1 b 0 non-null int32
2 c 0 non-null float64
3 d 0 non-null datetime64[ns]
dtypes: datetime64[ns](1), float64(1), int32(1), object(1)
memory usage: 124.0+ bytes
'''
2.利用Series
df = pandas.DataFrame({'a': pd.Series([], dtype='int'),
'b': pd.Series([], dtype='str'),
'c': pd.Series([], dtype='float'),
'd':pd.Series([],dtype='datetime64[ns]')})