我刚得到一个csv文件,我想使用熊猫将数据集加载为dataframe。但是,我有点混淆了这种数据格式。
这是两行数据的示例:
Name=John, Gender=M, BloodType=A, Location=New York, Age=18
Name=Mary, Gender=F, BloodType=AB, Location=Seatle, Age=30
如何将此数据集加载到具有列(名称,性别,BloodType等)的数据框中?
我将不胜感激,有人会给我提示!
使用read_csv
与header=None
第一:
import pandas as pd
temp=u"""Name=John,Gender=M,BloodType=A,Location=New York,Age=18
Name=Mary,Gender=F,BloodType=AB,Location=Seatle,Age=30"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), header=None)
print (df)
0 1 2 3 4
0 Name=John Gender=M BloodType=A Location=New York Age=18
1 Name=Mary Gender=F BloodType=AB Location=Seatle Age=30
然后DataFrame.apply
使用Series.str.split
并选择第二个列表,最后更改列名称:
df1 = df.apply(lambda x: x.str.split('=').str[1])
df1.columns = df.iloc[0].str.split('=').str[0].rename(None)
#if necessary
df1['Age'] = df1['Age'].astype(int)
print (df1)
Name Gender BloodType Location Age
0 John M A New York 18
1 Mary F AB Seatle 30
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句