【发布时间】:2019-04-10 01:10:32
【问题描述】:
索引包含对象(字符串)的 Pandas DataFrame 的单行会返回一个类型为 object 的 Series。
df1 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3),'c': list('def')})
df1
a b c
0 0 0.5 d
1 1 1.5 e
2 2 2.5 f
df1.loc[0]
a 0
b 0.5
c d
Name: 0, dtype: object
对不包含对象(字符串)的 Pandas DataFrame 的单行进行索引会返回一个转换其值的 Series。列 a 在 DataFrame 中属于 int64 类型。结果系列包含a 列的值作为float64。
df2 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3)})
df2
a b
0 0 0.5
1 1 1.5
2 2 2.5
df2.loc[0]
a 0.0
b 0.5
Name: 0, dtype: float64
这种行为似乎不一致,是吗?
如何在不将整数转换为浮点数的情况下选择第二个 DataFrame df2 的单行?
【问题讨论】:
-
在此处查看相关问题:stackoverflow.com/questions/47143631
标签: python pandas dataframe indexing