我知道有different我的問題的變化。但我希望我在某些方面有所不同,並且不會被標記出來。使用Python 2.7,Pandas,Dictionaries。我有一個數據幀,非常類似於以下:Pandas Dataframe列操作和轉換爲字典
boxNumber Content
[1.0, 2.0] A
[2.0, 4.5] B
[2.5, 3.0] C
[1.5, 2.5] F
[1.4, 4.5] D
[1.3, 3.2] E
現在我就必須獲得像字典{A:B,C:F,d:電子}。我以下面的方式來解決這個問題。我把它轉換成熊貓數據框,刪除了所有的空值行。
keys = ['A', 'B', 'C', 'F','D', 'E']
test1 = df[df.Content.str.match('A').shift(1).fillna(False)]
test2 = df[df.Content.str.match('C').shift(1).fillna(False)]
test3 = df[df.Content.str.match('D').shift(1).fillna(False)]
values = [test1.Content.iloc[0], test2.Content.iloc[0],test3.Content.iloc[0]
item1 = dict(zip(keys, values))
print(item1)
我的輸出
{'A':'B', 'D':'E', 'C':'F'}
但我需要
{'A':'B', 'C':'F', 'D':'E'}
作爲一個字典是無序的python 2.7,我最後的輸出,也成爲無序! OrderedDict()不好。它需要是一個正常的字典。有沒有解決這個問題的方法? 或者我應該只使用熊貓?
我不明白問題所在。 '{'A':'B','C':'F','D':'E'} == {'A':'B','D':'E','C':' F'}'爲什麼需要訂購? –
因爲'A','B','C','D','E','F'都是從PDF中提取的json ...這些都是例子...... A可以是Name,B可以是最後的名字...然後來到D,這是「年齡」... E是#age ... – neutralCreep