dataframe按行索引
时间: 2023-11-18 22:06:44 浏览: 30
使用`loc`方法可以按行索引访问DataFrame的数据,例如:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data, index=['id1', 'id2', 'id3'])
print(df.loc['id1']) # 访问第一行数据
```
输出:
```
name Alice
age 25
gender F
Name: id1, dtype: object
```
也可以一次访问多行数据:
```python
print(df.loc[['id1', 'id3']])
```
输出:
```
name age gender
id1 Alice 25 F
id3 Charlie 35 M
```
注意,`loc`方法的索引值是DataFrame的行索引(即通过`index`参数指定的索引值),而不是默认的整数索引。如果要按整数索引访问DataFrame的数据,可以使用`iloc`方法,例如`df.iloc[0]`会访问第一行数据。
相关问题
dataframe按行索引删除
如需按行索引删除DataFrame中的行,可以使用`drop`方法并指定要删除的行的索引。例如,要删除索引为0和1的行,可以使用以下代码:
```python
df = df.drop([0, 1])
```
其中,`df`是要操作的DataFrame对象,`drop`方法的参数是一个包含要删除的行索引的列表。此操作将返回一个新的DataFrame对象,原始的DataFrame对象不会被修改。
DataFrame自定义行索引
你可以使用`set_index()`方法来自定义DataFrame的行索引。这个方法接受一个列名或列的列表作为参数,用来作为新的行索引。下面是一个示例:
```python
import pandas as pd
# 创建一个示例DataFrame
data = {'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)
# 自定义行索引
new_index = ['row1', 'row2', 'row3', 'row4']
df = df.set_index(new_index)
print(df)
```
输出结果如下:
```
A B C
row1 1 5 9
row2 2 6 10
row3 3 7 11
row4 4 8 12
```
在这个示例中,我们使用`set_index()`方法将`new_index`列表作为新的行索引。你可以根据自己的需要选择适当的行索引值。