pandas dataframe 如何隐藏左边的序号...

问题

在使用pandas的read_csv方法时,它默认会自动加上一列行号。

演示

test.csv内容如下:

姓名,年龄
小兔子昂,8
大兔子昂,13

test.py代码如下:

#引入pandas库,并改成pd方便使用,(打的字就少了)
import pandas as pd 

dataframe = pd.read_csv("test.csv")
print(dataframe)

运行结果如下:

     姓名  年龄
0  小兔子昂   8
1  大兔子昂  13

可以发现,多出了第一列,pandas自动加上了行号。

解决

给read_csv加上这么个参数,index_col=0

修改后的代码如下:

#引入pandas库,并改成pd方便使用,(打的字就少了)
import pandas as pd 

dataframe = pd.read_csv("test.csv",index_col=0)
print(dataframe)

运行结果

      年龄
姓名
小兔子昂   8
大兔子昂  13

可以看到行号已经去掉了。尽管表头错行了,但是输出到文件里是正常的。

其他

如果需要Excel打开,需要将csv文件另存为ANSI编码格式,不然会乱码。同时要给read_csv加上一个参数,encoding="gbk",这样python读取才不会出错。

如果想了解更多关于index_col参数的知识:
pandas read_csv 参数 index_col = None,0,False的区别


参考:
R dataframe 去除行号 - miranda_tang - 博客园

### 访问 Pandas DataFrame 对象中的元素 #### 使用 `loc` 和 `iloc` 进行索引访问 为了访问特定的数据,可以利用基于标签的 `loc` 或者基于整数位置的 `iloc` 方法。例如: ```python import pandas as pd # 创建一个简单的 DataFrame 实例用于演示 df = pd.DataFrame({ 'A': ['foo', 'bar', 'baz'], 'B': [1, 2, 3], 'C': [4.5, 5.5, 6.5] }) ``` 对于按标签选取数据而言,`loc` 是非常直观的选择方式之一。可以通过指定行和/或列的名字来获取所需部分的数据。 - 获取单个元素:如果想要取得某一行某一列的具体数值,则可以直接给出对应的行索引以及列名称[^1]。 ```python value = df.loc[0, 'A'] # 返回 'foo' ``` 当涉及到依据位置而非标签定位时,`iloc` 就显得尤为有用。它允许通过纯数字下标来进行切片操作。 - 同样地,也可以采用 `iat` 函数快速检索位于给定坐标的单一单元格的内容[^3]。 ```python single_value = df.iloc[0, 0] # 返回 'foo';第一个参数代表行号,第二个表示列序号 alternative_single_value = df.iat[0, 0] # 类似于 iloc 的效果但是更高效 ``` #### 列表式的批量访问 除了逐条提取外,还可以一次性获得多行或多列的信息。这通常适用于需要处理整个系列的情况。 - 如果希望得到某些选定列的所有记录,只需提供这些列组成的列表即可[^2]。 ```python selected_columns = df[['A', 'C']] # 取得名为'A'和'C'这两列构成的新表格 ``` 另外,在实际应用过程中经常遇到调整顺序的需求,比如交换两列的位置。此时可借助赋值语句轻松实现这一目标[^4]。 ```python df[['A', 'B']] = df[['B', 'A']].values # 互换'A'与'B'两列之间的相对次序 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滕青山博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值