猿问

如何将 ndarray 值附加到特定列的数据帧行中?

我有一个返回ndarray这样的函数


[0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0] 

现在,我有一个df包含 A,B,C,...,Z 列的数据框;但是我们得到的数组只有 20 个值。因此,我想找到一种方法,对于我作为输出获得的每个数组,我都可以df像这样存储它(A、B、W、X、Y、Z 将留空):


__| A | B | C | D | E | F | ...

0 |nan|nan| 0 | 1 | 0 | 0 | ...

1 |nan|nan| 1 | 1 | 0 | 1 | ...

.

.


米脂
浏览 186回答 1
1回答

偶然的你

我无法通过此处发布的建议获得我想要的东西。不过,我自己也弄明白了。我在这里分享它以供社区参考。import pandas as pdimport numpy as npdf = pd.DataFrame(columns=[chr(i) for i in range(ord('A'),ord('Z')+1)])print(df)Empty DataFrameColumns: [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]Index: [][0 rows x 26 columns]list1 = [i for i in range(101,121)]arr1d = np.array(list1)arr1darray([101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,       114, 115, 116, 117, 118, 119, 120])# Create alphabet list of uppercase lettersalphabet = []for letter in range(ord('C'),ord('W')):    alphabet.append(chr(letter))alphabet['C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V']df = df.append(pd.Series(arr1d, index=alphabet), ignore_index=True)#This line of code can be used for every new value of arr1d 
随时随地看视频慕课网APP

相关分类

Python
我要回答