তালিকাগুলির একটি তালিকাকে পান্ডাস ডেটাফ্রেমে রূপান্তর করুন


30

আমি নীচের মত দেখতে তালিকার একটি তালিকাকে পান্ডাস ডেটাফ্রেমে রূপান্তরিত করার চেষ্টা করছি

[['New York Yankees ', '"Acevedo Juan"  ', 900000, ' Pitcher\n'], 
['New York Yankees ', '"Anderson Jason"', 300000, ' Pitcher\n'], 
['New York Yankees ', '"Clemens Roger" ', 10100000, ' Pitcher\n'], 
['New York Yankees ', '"Contreras Jose"', 5500000, ' Pitcher\n']]

আমি মূলত অ্যারের প্রতিটি আইটেমকে একটি পান্ডাস ডেটা ফ্রেমে রূপান্তর করার চেষ্টা করছি যার চারটি কলাম রয়েছে। পিডি হিসাবে এটির সর্বোত্তম পন্থাটি কী হবে ata ডেটাফ্রেম আমাকে যা সন্ধান করছে তা আমাকে যথেষ্ট দেয় না।


: স্ট্যাক ওভারফ্লো এই প্রশ্ন দেখতে stackoverflow.com/questions/.../...
কেরামত

উত্তর:


36
import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

df = pd.DataFrame.from_records(data)

4
আপনি এটি দিয়ে আরও কিছুটা পরিমার্জন করতে পারেন: ডেটাফ্রেম.ফ্রম_রেকার্ডস (ডেটা, কলামগুলি = ['দল', 'প্লেয়ার', 'যাই হোক না কেন-স্ট্যাটাসটি সেই', 'অবস্থান'])
জুয়ান ইগনাসিও গিল

1
আমদানি আরও নির্দিষ্ট করে নির্দিষ্ট করার কোনও উপায় আছে কি? উদাহরণস্বরূপ আমি উল্লেখ করতে চাই যে DataFrame["Team"]অবশ্যই প্রতিটি সাবলিস্টের প্রথম আইটেমটি (যেমন data[i][0]) এবং DataFrame["Position"]প্রতিটি সাবলিস্টের শেষ আইটেমটি উল্লেখ করতে হবে (অর্থাত data[i][-1])?
আইভো

@Ivo: ব্যবহার columnsএর প্যারামিটার DataFrame.from_records
এমরে

14

একবার আপনার কাছে ডেটা হবে:

import pandas as pd

data = [['New York Yankees ', '"Acevedo Juan"  ', 900000, ' Pitcher\n'], 
        ['New York Yankees ', '"Anderson Jason"', 300000, ' Pitcher\n'], 
        ['New York Yankees ', '"Clemens Roger" ', 10100000, ' Pitcher\n'], 
        ['New York Yankees ', '"Contreras Jose"', 5500000, ' Pitcher\n']]

আপনি ডেটা স্থানান্তর থেকে ডেটাফ্রেম তৈরি করতে পারেন:

data_transposed = zip(data)
df = pd.DataFrame(data_transposed, columns=["Team", "Player", "Salary", "Role"])

অন্য উপায়:

df = pd.DataFrame(data)
df = df.transpose()
df.columns = ["Team", "Player", "Salary", "Role"]

5

আপনি নিম্নলিখিত হিসাবে এটি সরাসরি একটি ডেটা ফ্রেম হিসাবে সংজ্ঞায়িত করতে পারেন:

import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data)

1
import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'],
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

df = pd.DataFrame(data)

0

এটি একদম সহজতম:

import pandas as pd

data = [['New York Yankees', 'Acevedo Juan', 900000, 'Pitcher'], 
        ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
        ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
        ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data)

এখন, যদি কীগুলির তালিকাগুলির তালিকার প্রথম তালিকা হয় (ডেটা [0]), আপনি সেগুলি ডেটাফ্রেমে কলাম শিরোনামগুলিতে নির্ধারণ করতে পারেন:

import pandas as pd

data = [['key1', 'key2', key3, 'key4'], 
    ['New York Yankees', 'Anderson Jason', 300000, 'Pitcher'], 
    ['New York Yankees', 'Clemens Roger', 10100000, 'Pitcher'], 
    ['New York Yankees', 'Contreras Jose', 5500000, 'Pitcher']]

data = pd.DataFrame(data[1:], columns=data[0])
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.