我有一个Pandas系列列表
0 ['2018-3-13', '16:00']
1 ['2018-3-13', '16:01']
2 ['2018-3-13', '16:02']
3 ['2018-3-13', '16:03']
.
.
.
我想将DataFrame创建为
0 '2018-3-13' '16:00'
1 '2018-3-13' '16:01'
2 '2018-3-13' '16:02'
3 '2018-3-13' '16:03'
...
所以任何人都可以提供创新的想法吗?
非常感谢
答案 0 :(得分:2)
一种方法是提取NumPy数组表示并使用np.ndarray.tolist
。然后,您可以输入pd.DataFrame
:
import pandas as pd
s = pd.Series([['2018-3-13', '16:00'], ['2018-3-13', '16:01'],
['2018-3-13', '16:02'], ['2018-3-13', '16:03']])
df = pd.DataFrame(s.values.tolist(), columns=['date', 'time'])
print(df)
date time
0 2018-3-13 16:00
1 2018-3-13 16:01
2 2018-3-13 16:02
3 2018-3-13 16:03
答案 1 :(得分:0)
您可以使用apply
和pd.Series
,例如:
# with jpp data
s = pd.Series([['2018-3-13', '16:00'], ['2018-3-13', '16:01'],
['2018-3-13', '16:02'], ['2018-3-13', '16:03']])
# then you use apply and rename
df = s.apply(pd.Series).rename(columns={0:'date',1:'time'})
只是另一种方法