简体   繁体   中英

Pandas Data Frame saving into csv file

I wonder how to save a new pandas Series into a csv file in a different column. Suppose I have two csv files which both contains a column as a 'A'. I have done some mathematical function on them and then create a new variable as a 'B'.

For example:

data = pd.read_csv('filepath')

data['B'] = data['A']*10

# and add the value of data.B into a list as a B_list.append(data.B) 

This will continue until all of the rows of the first and second csv file has been reading.

I would like to save a column B in a new spread sheet from both csv files. For example I need this result:

colum1(from csv1)        colum2(from csv2)     
     data.B.value             data.b.value

By using this code:

pd.DataFrame(np.array(B_list)).T.to_csv('file.csv', index=False, header=None)

I won't get my preferred result.

Since each column in a pandas DataFrame is a pandas Series . Your B_list is actually a list of pandas Series which you can cast to DataFrame() constructor, then transpose (or as @jezrael shows a horizontal merge with pd.concat(..., axis=1) )

finaldf = pd.DataFrame(B_list).T
finaldf.to_csv('output.csv', index=False, header=None)

And should csv have different rows, unequal series are filled with NANs at corresponding rows.

I think you need concat column from data1 with column from data2 first:

df = pd.concat(B_list, axis=1)
df.to_csv('file.csv', index=False, header=None)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM