使用Pandas向dataframe添加新列,但它超出了数据的长度

时间:2018-02-19 09:27:58

标签: python pandas csv dataframe

我正在尝试将新列添加到pandas数据帧中。此外,我尝试为导出数据时在Excel中打印的索引命名

import pandas as pd
import csv

#read csv file
file='RALS-04.csv'
df=pd.read_csv(file)

#select the columns that I want
column1=df.iloc[:,0]
column2=df.iloc[:,2]
column3=df.iloc[:,3]

column1.index.name="items"
column2.index.name="march2012"
column3.index.name="march2011"
df=pd.concat([column1, column2, column3], axis=1)

#create a new column with 'RALS' as a defaut value
df['comps']='RALS'

#writing them back to a new CSV file
with open('test.csv','a') as f:
    df.to_csv(f, index=False, header=True)

输出是' RALS'我添加到数据帧的是第2000行,而数据在第15行停止。如何约束RALS,使其不超出导出数据的长度?我还希望采用更优雅,更自动的方式,而不是指定默认值停在哪一行。

第二个问题是,我使用columns.index.name分配给列的标签没有出现在输出中。相反,它被0和1取代。请建议解决方案。

非常感谢输入

0 个答案:

没有答案