Python двухмерный список для столбца данных - PullRequest
0 голосов
/ 29 января 2019

У меня есть столбец dataframe, и его значение для строки равно [["x","1"],["y","2"],["z","3"]]

Я хочу добавить эти значения в мой dataframe в качестве первого элемента внутреннего списка, являющегося именем столбца, и второго элементавнутренний список является ассоциированным значением.

Например, для данных выше, мой фрейм данных должен иметь столбец с именем "x", и его значение должно быть "1" (то же самое для "y", "z"и их соответствующие значения). Кроме того, я хочу сделать это для каждой строки в кадре данных, и если строка не имеет "x" (или любой другой символ), ее значение должно быть 0.

Есть ли какой-нибудь правильный способ сделать это?

1 Ответ

0 голосов
/ 29 января 2019

Используйте словарное понимание с DataFrame.from_dict:

a = [["x","1"],["y","2"],["z","3"]]
df = pd.DataFrame({"col":a, 'b':range(3)})

df1 = pd.DataFrame.from_dict({k1:{k:v} for k1, (k, v) in df['col'].items()}, orient='index')
print (df1)
     x    y    z
0    1  NaN  NaN
1  NaN    2  NaN
2  NaN  NaN    3

df = df.join(df1.fillna(0))
print (df)
      col  b  x  y  z
0  [x, 1]  0  1  0  0
1  [y, 2]  1  0  2  0
2  [z, 3]  2  0  0  3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...