Pandas Dataframe是否有办法仅命名第一列或第一列和第二列,即使有4列也是如此:
这里
for x in range(1, len(table2_query) + 1):
if x == 1:
cursor.execute(table2_query[x])
df = pd.DataFrame(data=cursor.fetchall(), columns=['Q', col_name[x-1]])
它给了我这个:
AssertionError:传递了2列,传递的数据有4列
考虑df
:
df = pd.DataFrame(np.arange(8).reshape(2, 4), columns=list('ABCD'))
df
然后使用rename
并传递名称更改为参数的字典columns
:
df.rename(columns=dict(A='a', B='b'))
使用构造数据框时pd.DataFrame
,您要么不传递index / columns参数,而是让pandas自动生成index / columns对象,要么您自己传递一个。如果您自己传递,则它必须与数据的尺寸匹配。在增加所需熊猫数量的同时模仿大熊猫自动繁殖的麻烦是不值得的,它很丑陋,可能表现不佳。换句话说,我什至都没有想到这样做的充分理由。
另一方面,重命名列/索引值非常容易。实际上,我们只能重命名几个。我认为以下内容更符合您提出问题的精神:
df = pd.DataFrame(np.arange(8).reshape(2, 4)).rename(columns=str).rename(columns={'1': 'A', '3': 'F'})
df
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句