问题描述
df1 = pd.DataFrame([['a','b','d','e','h'], ['a2','b2','d2','e2','h2']],
index = [1,2,4,5,7],
columns = ['C0', 'C1'])
想转成dataframe格式如下
C0 C1
1 a a2
2 b b2
4 d d2
5 e e2
7 h h2
错误:
使用pd.DataFrame([[‘a’,‘b’,‘d’,‘e’,‘h’], [‘a2’,‘b2’,‘d2’,‘e2’,‘h2’]],index = [1,2,4,5,7], columns = [‘C0’, ‘C1’])报错
AssertionError: 2 columns passed, passed data had 5 columns
原因:
使用pandas.DataFrame构造函数时每个子列表被解释为一行的事实
解决方法
pd.DataFrame({'C0':['a','b','d','e','h'], 'C1': ['a2','b2','d2','e2','h2']}, index=[1,2,4,5,7])