|
发表于 2023-6-7 11:06:25
|
显示全部楼层
Pandas Series 的索引(index)和数据字典(data)的键(key)必须严格匹配才行。在你给出的例子中,你的字典键是 'a','b','c',但你提供的索引是数字 ['1','2','3'] 或者字母 ['h','i','j']。因此,Pandas 在索引中寻找数据字典的键时,找不到匹配的项,结果返回了NaN。
不论是数字、字母还是其他类型,只要索引和键严格匹配就可以。字符串对应字符串是可以的,只要它们完全相同。例如,如果你的数据字典的键是字符串 '1','2','3',那么你的索引也应该是字符串 '1','2','3',而不是整数 1,2,3 或其他不同的字符串。
下面的代码,我把你的索引改为 'a','b','c',这样就可以匹配你的数据字典的键了:
- import pandas as pd
- data = {'a':'tony','b':'jen','c':'tom'}
- s = pd.Series(data,index=['a','b','c'])
- print(s)
复制代码
如果你没有特别的需要,你其实可以不提供索引,Pandas 会自动使用字典的键作为索引。例如:
- import pandas as pd
- data = {'a':'tony','b':'jen','c':'tom'}
- s = pd.Series(data)
- print(s)
复制代码 |
|