繁体   English   中英

在熊猫DataFrame中加载三重格式的数据

[英]Loading triplet formatted data in pandas DataFrame

我有以下格式的csv文件:

email       Peter    peter@example.com
id          Peter    23
age         John     31
fullname    John     John Smith
id          John     25

即,第一个字段是键名称,第二个字段是索引值,第三个字段是数据值。 我前面没有所有键名的列表。

用此数据创建DataFrame对象的最有效方法是什么?

更新 :该格式允许丢失数据,即,在这种情况下,约翰的电子邮件为NaN。

根据您希望拥有最终数据帧的方式,可以为此使用数据pivot表:

In [1]: s = """email       Peter    peter@example.com
   ...: id          Peter    23
   ...: age         John     31
   ...: fullname    John     John Smith
   ...: id          John     25"""

In [4]: df = pd.read_fwf(StringIO(s), names=["key", "name", "value"])

In [5]: df
Out[5]:
        key   name              value
0     email  Peter  peter@example.com
1        id  Peter                 23
2       age   John                 31
3  fullname   John         John Smith
4        id   John                 25

In [6]: df.pivot(index='name', columns='key', values='value')
Out[6]:
key    age              email    fullname  id
name
John    31                NaN  John Smith  25
Peter  NaN  peter@example.com         NaN  23

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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