如何打开二进制矩阵并将其转换为2D数组或数据帧?

时间:2018-01-21 17:48:26

标签: python arrays pandas numpy dataframe

我在txt文件中有一个二进制矩阵,如下所示:

0011011000
1011011000
0011011000
0011011010
1011011000
1011011000
0011011000
1011011000
0100100101
1011011000

我想把它变成2D数组或数据帧,每列有一个数字,行如图所示。我尝试过使用numpy和pandas,但输出只有一列包含整数。我希望能够将整个列称为数字。

我尝试的其中一个代码是:

with open("a1data1.txt") as myfile:
    dat1=myfile.read().split('\n')
dat1=pd.DataFrame(dat1)

2 个答案:

答案 0 :(得分:3)

使用read_fwf参数widths

df = pd.read_fwf("a1data1.txt", header=None, widths=[1]*10)

print (df)
   0  1  2  3  4  5  6  7  8  9
0  0  0  1  1  0  1  1  0  0  0
1  1  0  1  1  0  1  1  0  0  0
2  0  0  1  1  0  1  1  0  0  0
3  0  0  1  1  0  1  1  0  1  0
4  1  0  1  1  0  1  1  0  0  0
5  1  0  1  1  0  1  1  0  0  0
6  0  0  1  1  0  1  1  0  0  0
7  1  0  1  1  0  1  1  0  0  0
8  0  1  0  0  1  0  0  1  0  1
9  1  0  1  1  0  1  1  0  0  0

答案 1 :(得分:2)

阅读完txt后,您可以使用以下代码修复它

$target_file = $target_dir . uniqid() . basename($_FILES["file"]["name"]);