如何在numpy数组的列中添加标签

时间:2019-02-17 09:40:36

标签: python pandas numpy

如何在列中添加标签作为numpy数组的字符串

我需要这个输出

   One Two Three 
A   1,  2,  3  
B   4,  5,  6  
import numpy as np
import pandas as pd
a=pd.DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6])],
orient='index', columns=['one', 'two', 'three'])
print(a)

当我使用此代码时,代码给我正确的结果,但同时也给我一个错误;我不明白。

注意:我不明白这行

a=pd.DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6])],
    orient='index', columns=['one', 'two', 'three'])

我需要另一种方法来实现。

输出:

    one  two  three 
A    1    2      3
B    4    5      6
C:\Users\Toufik\Anaconda3\lib\site-packages\ipykernel_launcher.py:4:
FutureWarning: from_items is deprecated. Please use
DataFrame.from_dict(dict(items), ...) instead.
DataFrame.from_dict(OrderedDict(items)) may be used to preserve the
key order.   after removing the cwd from sys.path.

2 个答案:

答案 0 :(得分:3)

得到的警告是告诉您您使用的是不赞成使用(要删除)的语法。建议您改用from_dict,例如

import numpy as np
import pandas as pd
a=pd.DataFrame.from_dict({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
},
orient='index', columns=['one', 'two', 'three'])
print(a)

这将提供您想要的输出

   one  two  three
A    1    2      3
B    4    5      6

说明

您说不明白的以下内容-

a = pd.DataFrame.from_dict({
        'A': [1, 2, 3],
        'B': [4, 5, 6]
},
orient='index', columns=['one', 'two', 'three'])
print(a)

这将从我们作为第一个参数传入的字典(DataFrame)中创建一个from_dict

{'A': [1, 2, 3], 'B': [4, 5, 6]}

此词典有2个条目,“ A”和“ B”,每个条目包含一个数字列表。如果您将其本身传递给pd.DataFrame.from_dict,例如

a = pd.DataFrame.from_dict({
        'A': [1, 2, 3],
        'B': [4, 5, 6]
})
print(a)

您将获得以下输出。

   A  B
0  1  4
1  2  5
2  3  6

如您所见,字典的键将作为列标题输出。要将字典键用作(行)索引头并旋转数据,可以在orient='index'中传递。

a = pd.DataFrame.from_dict({
        'A': [1, 2, 3],
        'B': [4, 5, 6]
}, orient='index')
print(a)

这将给出以下输出。

   0  1  2
A  1  2  3
B  4  5  6

最后一步是传递我们要使用的列标题。

a = pd.DataFrame.from_dict({
        'A': [1, 2, 3],
        'B': [4, 5, 6]
},
orient='index', columns=['one', 'two', 'three'])
print(a)

哪个给出了预期的输出

   one  two  three
A    1    2      3
B    4    5      6

答案 1 :(得分:3)

data = {'A':[1,2,3],'B':[4,5,6]}

pd.DataFrame.from_dict(data,orient ='index',columns = ['one','two','three'])