让我首先通过以下代码片段概述手头问题的整体背景。
import pandas as pd
df = pd.read_csv("abc.csv")
df.as_matrix
输出所需的矩阵[100行×785列]。
我在输出(使用print())上面一行矩阵时遇到了困难。
我尝试了以下方法,但徒劳无功:
print(df[0])
print(df[:, 0])
答案 0 :(得分:0)
获取行索引等于A
的特定行:
df.iloc[A, :785]
通常,您可以使用df.iloc
使用idnex从pandas数据帧中切片。例如,要将行最多切成100行,将列最多切成785,您可以执行以下操作:
import pandas as pd
df = pd.read_csv("abc.csv")
df = df.iloc[:100, :785]
df.as_matrix()
如果要在转换为矩阵后对第一行进行切片,则使用列表列表,因此可以按如下方式进行:
print(df.as_matrix()[1,:])
这是一个有效的例子:
from StringIO import StringIO
import pandas as pd
st = """
col1|col2|col3
1|2|3
4|5|6
7|8|9
"""
pd.read_csv(StringIO(st), sep="|")
df = pd.read_csv(StringIO(st), sep="|")
print("print first row from a matrix")
print(df.as_matrix()[0,:])
print("print one column")
print(df.iloc[:2,1])
print("print a slice")
print(df.iloc[:2,:])
print("print one row")
print(df.iloc[1,:])
答案 1 :(得分:0)
我认为你缺少括号:
df.as_matrix()[0]
或者您可以使用:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.head.html
.head(n = 5)返回前n行
df.head(1).as_matrix()
答案 2 :(得分:0)
as_matrix()
的返回值是数组数组。所以下面的代码应该可以工作:
import pandas as pd
df = pd.read_csv("abc.csv")
matrix = df.as_matrix()
print(matrix[0]) # out put first row.
print(matrix[3:5] # output from 3 row up to 4 row.