'test_dict'라고 부르는 사전이 있습니다.
test_dict = {'OBJECTID': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5},
'Country': {0: 'Vietnam',
1: 'Vietnam',
2: 'Vietnam',
3: 'Vietnam',
4: 'Vietnam'},
'Location': {0: 'Nha Trang',
1: 'Hue',
2: 'Phu Quoc',
3: 'Chu Lai',
4: 'Lao Bao'},
'Lat': {0: 12.250000000000057,
1: 16.401000000000067,
2: 10.227000000000032,
3: 15.406000000000063,
4: 16.627300000000048},
'Long': {0: 109.18333300000006,
1: 107.70300000000009,
2: 103.96700000000004,
3: 108.70600000000007,
4: 106.59970000000004}}
내가 DataFrame으로 변환
test_df = pd.DataFrame(test_dict)
그리고 나는 이것을 얻는다 :
OBJECTID Country Location Lat Long
0 1 Vietnam Nha Trang 12.2500 109.183333
1 2 Vietnam Hue 16.4010 107.703000
2 3 Vietnam Phu Quoc 10.2270 103.967000
3 4 Vietnam Chu Lai 15.4060 108.706000
4 5 Vietnam Lao Bao 16.6273 106.599700
위치 이름으로 시리즈를 구성하고 "ObjectID"열을 인덱스로 만들고 싶습니다. 시도하면 첫 번째 행을 잃습니다.
pd.Series(test_df.Location, index=test_df.OBJECTID)
나는 이것을 얻는다 :
OBJECTID
1 Hue
2 Phu Quoc
3 Chu Lai
4 Lao Bao
5 NaN
Name: Location, dtype: object
내가 얻고 싶었던 것은 이것이었습니다.
OBJECTID
1 Nha Trang
2 Hue
3 Phu Quoc
4 Chu Lai
5 Lao Bao
내가 여기서 뭘 잘못하고 있니? 시리즈로 전환하는 과정에서 첫 번째 행이 손실되는 이유는 무엇입니까?
다음을 통해 코드를 수정할 수 있습니다.
pd.Series(test_df.Location.values, index=test_df.OBJECTID)
문제는 test_df.Location
에서 시작하는 색인 자체 가 있기 때문 0
입니다.
편집-선호하는 대안 :
test_df.set_index('OBJECTID')['Location']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다