Pandas中标签索引中的str和int的一个坑

创建了index和columns后要注意两个标签的字符类型,str和int打印出来都是不带引号的,在引入变量后容易弄混。

str_list = ['1', '2', '3']
int_list = [1, 2, 3]
data = np.arange(0, 9).reshape(3, 3)
# 分别设置为str和int
df1 = pd.DataFrame(data, index=str_list, columns=str_list)
df2 = pd.DataFrame(data, index=int_list, columns=int_list)
print("str")
print(df1.to_string())
print("int")
print(df2.to_string())
# 打印标签的值
print('index:', df1.index.values)
print('columns:', df1.columns.values)

image-20220105215530573

# 修改str 2行3列为$
df1.loc['2', '3'] = '$'
# 误用为int时 变成新增一列
df1.loc[2, 3] = '¥'
# 修改int 2行3列
df2.loc['2', '3'] = '$'
df2.loc[2, 3] = '¥'
print('--------')
print("str")
print(df1.to_string())
print("int")
print(df2.to_string())
# 更改后的标签的值
print('index:', df1.index.values)
print('columns:', df1.columns.values)

image-20220105215622815

posted @ 2022-01-05 22:04  Evaders  阅读(161)  评论(0)    收藏  举报