如何在列中添加标签作为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.
答案 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'])