import pandas as pd

d = {'A': [1,2,3,4], 'B': [[[1,2],[2,3]],[[3,4],[2,5]],[[5,6],[5,6],[5,6]],[7,8]]}

df = pd.DataFrame(data=d)

C = [1,2,3,4,5,6,7,8]

मेरे पास एक पांडा डेटाफ्रेम है और संरचना को बनाए रखने, बी की नेस्टेड सूचियों में से प्रत्येक में सी सूची के प्रत्येक तत्व को जोड़ना चाहते हैं, ताकि परिणामी डेटाफ्रेम हो:

'A': [1,2,3,4]
'B': [[[1,2,1],[2,3,2]],[[3,4,3],[2,5,4]],[[5,6,5],[5,6,6],[5,6,7]],[7,8,8]]
4
Seiji 28 मार्च 2018, 23:56

1 उत्तर

सबसे बढ़िया उत्तर

माईबे एक और अधिक सुरुचिपूर्ण समाधान है, लेकिन यह काम करता है :-)

for i in d['B']:
    for j in i:
        if (isinstance(j, list)):
            j.append(C.pop(0))
        else:
            i.append(C.pop(0))
            break

टाइमजेब्स टिप्पणी के आधार पर एक अधिक कुशल समाधान (धन्यवाद!):

f = iter(C)
for i in d['B']:
    for j in i:
        if (isinstance(j, list)):
            j.append(next(f))
        else:
            i.append(next(f))
            break
3
ilja 28 मार्च 2018, 21:30