如何取出dataframe中的下标
时间: 2023-12-03 08:55:29 浏览: 18
可以使用 `reset_index()` 方法将DataFrame的下标恢复为普通列,然后通过访问该列来获取下标。例如:
```
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
# 使用reset_index方法将下标恢复为普通列
df_with_index = df.reset_index()
# 访问新的index列
print(df_with_index['index'])
```
输出结果为:
```
0 0
1 1
2 2
Name: index, dtype: int64
```
相关问题
如何在R中提取dataframe的第二列到最后一列
您可以使用R中的下标索引来提取dataframe的第二列到最后一列。具体方法如下:
```R
# 创建一个示例数据框
df <- data.frame(matrix(rnorm(20), ncol = 5))
# 提取第二列到最后一列
df[, 2:ncol(df)]
# 或者使用负数索引,提取第二列到最后一列
df[, -1]
```
这里使用了ncol()函数来获取数据框的列数,然后使用下标索引来提取第二列到最后一列。另外,还可以使用负数索引来提取第二列到最后一列,其中-1表示忽略第一列。
def count_matrix(matrix, array_data): for row in range(1, len(matrix)): # 从下标1开始遍历矩阵的行元素 for col in range(1, len(matrix)): # 从下标1开始遍历矩阵列元素 if matrix[0][row] == matrix[col][0]: # 取出的行关键词和列关键词相同,则其对应的共现次数为0,即矩阵对角线为0 matrix[col][row] = 0 else: counter = 0 # 初始化计数器 for ech in array_data: # 遍历格式化后的原始数据,让取出的行关键词和取出的列关键词进行组合, # 再放到每条原始数据中查询 if matrix[0][row] in ech and matrix[col][0] in ech: counter += 1 else: continue matrix[col][row] = counter return matrix NXdata = pd.DataFrame(count_matrix(University_matrix, University_array)) print(NXdata)
这段代码是一个函数`count_matrix`,它接受一个矩阵`matrix`和一个数据数组`array_data`作为参数。该函数的目的是计算矩阵中关键词的共现次数。
函数首先遍历矩阵的行和列(从下标1开始),判断取出的行关键词和列关键词是否相同。如果相同,则将对应位置的矩阵元素设为0,表示共现次数为0。如果不相同,则初始化一个计数器,并遍历格式化后的原始数据。在每条原始数据中,如果取出的行关键词和列关键词都存在,则计数器加1。最后将计数器的值赋给对应位置的矩阵元素。
最后,函数返回计算完成的矩阵,并将其转换为DataFrame对象,并打印出来。
注意,代码中使用了pandas库中的DataFrame对象来存储和展示矩阵数据。`University_matrix`和`University_array`是函数调用时传入的参数。