2016-10-13 33 views
1

私はDataFrameでdictを読んでいますが、結果には値が読み取られていない列だけが読み取られます。なぜこれが起こるのですか?DataFrameはdictを正しく読み取れません

In [65]: i   
Out[65]: 
{'Alias': 'S510994824', 
'AppAccountFlag': 0, 
'AttrStatus': 234337, 
'ChatRoomId': 0, 
'City': '武汉', 
...... 
...... 
...... 
'VerifyFlag': 0} 

In [66]: DataFrame(i,columns=i.keys()) 
Out[66]: 
Empty DataFrame 
Columns: [StarFriend, PYQuanPin, SnsFlag, HeadImgUrl, RemarkPYQuanPin, UniFriend, ContactFlag, RemarkName, AttrStatus, City, Uin, Alias, PYInitial, RemarkPYInitial, Statues, MemberCount, HideInputBarFlag, AppAccountFlag, EncryChatRoomId, VerifyFlag, Sex, Signature, DisplayName, MemberList, Province, OwnerUin, NickName, UserName, ChatRoomId, KeyWord] 
Index: [] 

[0 rows x 30 columns] 

なぜ値を読み取れませんか?私にとって

答えて

2

がパスindexパラメータを動作します:

import pandas as pd 

d = {'Alias': 'S510994824', 
'AppAccountFlag': 0, 
'AttrStatus': 234337, 
'ChatRoomId': 0, 
'City': '武汉', 
'VerifyFlag': 0} 

df = pd.DataFrame(d, index=[0]) 
print (df) 
     Alias AppAccountFlag AttrStatus ChatRoomId City VerifyFlag 
0 S510994824    0  234337   0 武汉   0 

別の解決策は、[]を追加します:

DataFrame.from_dict
df = pd.DataFrame([d]) 
print (df) 
     Alias AppAccountFlag AttrStatus ChatRoomId City VerifyFlag 
0 S510994824    0  234337   0 武汉   0 

そして、最後の解決策:

df = pd.DataFrame.from_dict(d, orient='index') 
#set column name 
df.columns = ['col'] 
print (df) 
         col 
VerifyFlag    0 
Alias   S510994824 
AttrStatus   234337 
ChatRoomId    0 
City     武汉 
AppAccountFlag   0 
+0

U.the秒に感謝し、最後のsulutionが動作します! –

関連する問題