পান্ডাদের সাথে এলোমেলোভাবে পূর্ণসংখ্যার ডেটাফ্রেম কীভাবে তৈরি করবেন?


123

আমি জানি যদি আমি ব্যবহার করি randn,

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))

আমি যা খুঁজছি তা আমাকে দেয় তবে সাধারণ বিতরণে থাকা উপাদানগুলির সাথে। তবে আমি যদি কেবল এলোমেলো পূর্ণসংখ্যা চাই?

randintএকটি পরিসীমা সরবরাহ করে কাজ করে তবে কোনও অ্যারে করে randnনা। সুতরাং আমি কিছু পরিসরের মধ্যে এলোমেলো পূর্ণসংখ্যা দিয়ে এটি কীভাবে করব?


এবং যখন আমরা কেবল একটি কলাম যুক্ত করছি তার জন্য সম্পর্কিত: পান্ডাস: এলোমেলো পূর্ণসংখ্যার সাথে df এ নতুন কলাম তৈরি করুন
স্মিচ

উত্তর:


183

numpy.random.randintএকটি তৃতীয় আর্গুমেন্ট ( size) গ্রহণ করে , যাতে আপনি আউটপুট অ্যারের আকার নির্দিষ্ট করতে পারেন। আপনি এটি তৈরি করতে এটি ব্যবহার করতে পারেন DataFrame-

df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

এখানে - np.random.randint(0,100,size=(100, 4))- এর (100,4)মধ্যে এলোমেলো পূর্ণসংখ্যার উপাদানগুলির সাথে আকারের আউটপুট অ্যারে তৈরি করে [0,100)


ডেমো -

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

যা উত্পাদন করে:

     A   B   C   D
0   45  88  44  92
1   62  34   2  86
2   85  65  11  31
3   74  43  42  56
4   90  38  34  93
5    0  94  45  10
6   58  23  23  60
..  ..  ..  ..  ..

1
আপনি কি দয়া করে একটি অনুলিপি-পেষ্টযোগ্য নমুনা তৈরি করতে পারবেন যার মধ্যে আমদানিগুলি অন্তর্ভুক্ত রয়েছে / লাইন নম্বরগুলি নেই?
মার্টিন থোমা

2
চমৎকার সমাধান যোগ করা। আপনি যদি সেই ক্রমের প্রতিটি অক্ষর ব্যতীত কলামগুলির নাম রাখতে চান তবে আপনার df = pd.DataFrame (np.random.randint (0,100, আকার = (100, 4)), কলামগুলি = তালিকা (['এএ') করা উচিত , 'বিবি', 'সি 2', 'ডি 2']))
মজাকারিয়া

2
@ এমজাকারিয়া [...]ইতিমধ্যে একটি তালিকা যা আপনার প্রয়োজন নেইlist([...])
jtlz2

0

আজকাল NumPy এর সাথে এলোমেলো পূর্ণসংখ্যা তৈরির প্রস্তাবিত উপায়টি হ'ল ব্যবহার করা numpy.random.Generator.integers। ( ডকুমেন্টেশন )

import numpy as np
import pandas as pd

rng = np.random.default_rng()
df = pd.DataFrame(rng.integers(0, 100, size=(100, 4)), columns=list('ABCD'))
df
----------------------
      A    B    C    D
 0   58   96   82   24
 1   21    3   35   36
 2   67   79   22   78
 3   81   65   77   94
 4   73    6   70   96
... ...  ...  ...  ...
95   76   32   28   51
96   33   68   54   77
97   76   43   57   43
98   34   64   12   57
99   81   77   32   50
100 rows × 4 columns
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.