有一个名为location_ratings
的系列如下:
location_ratings = location['Location'].value_counts()
以下是location_ratings的示例输出:
Location
Brazil 180
Alaska 175
Russia 171
Colombia 146
Canada 144
California 142
France 130
England 104
India 97
Indonesia 84
China 83
有2个值,一个是位置,另一个是数值(评级)。
我想将它们分成两个新列,一个应该是'位置'另一个应该是'评级'在数据框中。
我尝试将系列转换为数据帧,然后使用下面的代码重置索引,但未能获得预期的结果。
尝试失败1:
D1 = location_ratings.to_frame().reset_index().T
尝试失败2:
D1 = location_ratings.to_frame().
D1.columns = ['Location', 'Ratings']
答案 0 :(得分:0)
您可以先按rename_axis
更新索引名称(pandas
0.18.0
中的新内容),然后reset_index
:
location = pd.DataFrame({'Location': {0: 'Brazil', 1: 'Brazil', 2: 'Brazil', 3: 'Brazil', 4: 'Brazil', 5: 'Alaska', 6: 'Alaska', 7: 'Alaska', 8: 'Alaska'}})
print (location)
Location
0 Brazil
1 Brazil
2 Brazil
3 Brazil
4 Brazil
5 Alaska
6 Alaska
7 Alaska
8 Alaska
location_ratings = location['Location'].value_counts().rename_axis('Location')
print (location_ratings)
Location
Brazil 5
Alaska 4
Name: Location, dtype: int64
D1 = location_ratings.reset_index(name='Ratings')
print (D1)
Location Ratings
0 Brazil 5
1 Alaska 4
另一种分配新列名称的解决方案:
D1 = location_ratings.reset_index()
D1.columns = ['Location', 'Ratings']
print (D1)
Location Ratings
0 Brazil 5
1 Alaska 4
答案 1 :(得分:0)
D1 = location_ratings.rename_axis('Location').reset_index(name='Ratings')