如何使用Python头将多个数组放入一个csv文件
我有这样的列表,我是从如何使用Python头将多个数组放入一个csv文件,python,pandas,numpy,csv,Python,Pandas,Numpy,Csv,我有这样的列表,我是从xlsx文件加载的 import pandas as pd travel_df = pd.read_excel('./item.xlsx') data = travel_df.to_dict('records') 数据如下所示 data = [ { 'cat': 'A', 'subCat': 'a1', }, { 'cat': 'A', 'subCat': 'a2', },
xlsx
文件加载的
import pandas as pd
travel_df = pd.read_excel('./item.xlsx')
data = travel_df.to_dict('records')
数据
如下所示
data =
[
{
'cat': 'A',
'subCat': 'a1',
},
{
'cat': 'A',
'subCat': 'a2',
},
{
'cat': 'B',
'subCat': 'b1',
},
{
'cat': 'B',
'subCat': 'b2',
},
{
'cat': 'B',
'subCat': 'b3',
},
]
我想像这样把它放到CSV
文件中,最好最快的方法是什么
A B
--------
a1 b1
a2 b2
b3
您可以通过
DataFrame()
方法、pivot()
方法和apply()
方法执行此操作:
newdf=pd.DataFrame(data).pivot(columns='cat',values='subCat').apply(lambda x:sorted(x,key=pd.isna))
最后过滤掉NaN的:
newdf=newdf[~newdf.isna().all(1)]
newdf的输出
:
cat A B
0 a1 b1
1 a2 b2
2 NaN b3
现在,如果您想将其保存在csv文件中,请使用
to_csv()
方法如何避免重复记录?只需使用drop_duplicates()
方法,即:newdf=newdf.drop_duplicates()