Hướng dẫn save dataframe in dictionary python - lưu khung dữ liệu trong từ điển python

Tôi có một khung dữ liệu mở rộng cột thông minh bằng cách sử dụng vòng lặp. Bây giờ tôi muốn lưu trữ một số "giai đoạn" của DF đang phát triển bằng cách nào đó và tôi nghĩ rằng nó sẽ là tốt nhất để sử dụng từ điển.

Để cho bạn một bức tranh:

df_dict={}
for i in range[1,13]:
    df=pd.read_csv['./test.csv'].iloc[:,0:i*4-1]

Vì vậy, tôi muốn lưu trữ đây là "giai đoạn đầu tiên" của DF:

col1     col2     col3     col4
  1        3        5        7
  2        4        6        8

Trong "Giai đoạn thứ hai":

col1     col2     col3     col4     col5     col6     col7     col8
  1        3        5        7        9        11       13       15
  2        4        6        8        10       12       14       16    

Giai đoạn 3 chứa 12 cols:

col1     col2     col3     col4     col5     col6     col7     col8     ...
  1        3        5        7        9        11       13       15     ...
  2        4        6        8        10       12       14       16     ...

Liên tục cho đến giai đoạn thứ 12 chứa 48 cols.

Vì vậy, nói chung, tôi muốn lưu trữ trong các giai đoạn này, nơi mọi giai đoạn mới có thêm 4 cột. Và tôi cần có khả năng sử dụng các DataFrames khác nhau này sau này.

tôi biết điều đó

df_dict.update[{i, df}]

Không hoạt động vì các DF có thể thay đổi, nhưng tôi không tìm cách tìm cách làm việc xung quanh nó.

Tôi là người mới đến Python vì vậy xin vui lòng nhẹ nhàng với tôi. Chúc mừng!

EDIT: Tôi đã không tìm kiếm ý tưởng về cách lấy các biến biến vì tôi đã đề cập rằng tôi muốn sử dụng một dict, nhưng tôi đang tìm kiếm một cách lưu trữ dữ liệu của mình trong một dict. I wasn't searching the Idea of how to get variable variables since I allready mentioned that I want to use a Dict, but I was looking for a way of storing my Dataframe in a Dict.

Overview:

  • Một gấu trúc DataFrame có thể được chuyển đổi thành từ điển Python bằng cách sử dụng phương thức thể hiện DataFrame to_dict []. Đầu ra có thể được chỉ định của các hướng khác nhau bằng cách sử dụng tham số hướng.DataFrame can be converted into a Python dictionary using the DataFrame instance method to_dict[]. The output can be specified of various orientations using the parameter orient.
  • Trong định hướng từ điển, đối với mỗi cột của dataFrame, giá trị cột được liệt kê theo nhãn hàng trong từ điển. Tất cả các từ điển này được bọc trong một từ điển khác, được lập chỉ mục bằng nhãn cột. Định hướng từ điển được chỉ định với chuỗi theo nghĩa đen của Dict Dict cho tham số hướng. Định hướng từ điển là định hướng mặc định cho đầu ra chuyển đổi.DataFrame the column value is listed against the row label in a dictionary. All these dictionaries are wrapped in another dictionary, which is indexed using column labels. Dictionary orientation is specified with the string literal “dict” for the parameter orient. Dictionary orientation is the default orientation for the conversion output.
  • Trong định hướng danh sách, mỗi cột được lập một danh sách và các danh sách được thêm vào từ điển so với các nhãn cột. Định hướng danh sách được chỉ định với Chuỗi theo nghĩa đen Danh sách trực tuyến cho tham số hướng.list orientation, each column is made a list and the lists are added to a dictionary against the column labels. List orientation is specified with the string literal “list” for the parameter orient.
  • Trong định hướng loạt, mỗi cột được thực hiện một loạt gấu trúc và các trường hợp loạt được lập chỉ mục theo các nhãn hàng trong đối tượng từ điển được trả về. Định hướng loạt được chỉ định với chuỗi theo nghĩa đen của chuỗi cho tham số hướng.series orientation, each column is made a pandas Series, and the series instances are indexed against the row labels in the returned dictionary object. Series orientation is specified with the string literal “series” for the parameter orient.
  • Trong định hướng phân chia, mỗi hàng được lập một danh sách và chúng được bọc trong một danh sách khác và được lập chỉ mục với "dữ liệu" chính trong đối tượng từ điển được trả về. Các nhãn hàng được lưu trữ trong danh sách dựa trên "chỉ mục" khóa. Các nhãn cột được lưu trữ trong danh sách dựa trên "cột" khóa. Định hướng phân chia được chỉ định với chuỗi theo nghĩa đen chia tách cho tham số hướng.list and they are wrapped in another list and indexed with the key "data" in the returned dictionary object. The row labels are stored in a list against the key "index". The columns labels are stored in a list against the key "columns". Split orientation is specified with the string literal “split” for the parameter orient.
  • Trong định hướng bản ghi, mỗi cột được thực hiện một từ điển trong đó các phần tử cột được lưu trữ theo tên cột. Tất cả các từ điển được trả lại như một danh sách. Định hướng bản ghi được chỉ định với chuỗi theo nghĩa đen của các bản ghi trực tuyến cho tham số hướng.records orientation, each column is made a dictionary where the column elements are stored against the column name. All the dictionaries are returned as a list. Records orientation is specified with the string literal “records” for the parameter orient.
  • Trong hướng chỉ mục, mỗi cột được thực hiện một từ điển trong đó các phần tử cột được lưu trữ theo tên cột. Tất cả các từ điển được trả lại trong một từ điển, được lập chỉ mục bởi các nhãn hàng. Định hướng chỉ mục được chỉ định với chuỗi theo nghĩa đen, chỉ số cho tham số hướng.dictionary where the column elements are stored against the column name. All the dictionaries are returned in a dictionary, which is indexed by the row labels. Index orientation is specified with the string literal “index” for the parameter orient.

Ví dụ - DataFrame sang chuyển đổi từ điển trong chế độ Dict:

# Ví dụ Chương trình Python chuyển đổi một bản dữ liệu gấu trúc thành từ điển Python

nhập khẩu gấu trúc dưới dạng PDS

# Dữ liệu

Dữ liệu = [[1,2,3],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [4,5,6],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [7,8,9]];

# Tạo một dataFrame & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;

dataFrame = pds.dataFrame [data, index = ["r1", "r2", "r3"], cột = ["c1", "c2", "c3"]];

in ["Nội dung của DataFrame:"];

print[dataFrame];

# Chuyển đổi DataFrame thành chuỗi

Từ điểnBject = dataFrame.to_dict [];

in ["DataFrame dưới dạng từ điển:"];

print[dictionaryObject];

Output:

Nội dung của DataFrame:

& nbsp; & nbsp; & nbsp; C1 & NBSP; C2 & NBSP; C3

R1 & nbsp; & nbsp; 1 & nbsp; & nbsp; 2 & nbsp; & nbsp; 3

R2 & nbsp; & nbsp; 4 & nbsp; & nbsp; 5 & ​​nbsp; & nbsp; 6

R3 & nbsp; & nbsp; 7 & nbsp; & nbsp; 8 & nbsp; & nbsp; 9

DataFrame như một từ điển:

{'C1': {'r1': 1, 'r2': 4, 'r3': 7}, 'c2': {'r1': 2, 'r2': 5, 'r3': 8}, ' C3 ': {' r1 ': 3,' r2 ': 6,' r3 ': 9}}

Ví dụ - DataFrame sang chuyển đổi từ điển trong chế độ danh sách:

# Ví dụ chương trình Python chuyển đổi một dữ liệu gấu trúc thành một

# Từ điển Python ở chế độ danh sách

nhập khẩu gấu trúc dưới dạng PDS

# Dữ liệu

Dữ liệu = [[1,2,3],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [4,5,6],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [7,8,9]];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "04/tháng 11/2019": [62, 60],

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "05/tháng 11/2019": [64, 62]

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; };

# Tạo DataFrame

dataFrame = pds.datAframe [dailyTemate, index = ["max", "min"]];

in ["Nhiệt độ hàng ngày từ DataFrame:"];

print[dataFrame];

# Chuyển đổi DataFrame thành Từ điển

Từ điểnInstance = dataFrame.to_dict [Orient = "list"];

in ["DataFrame dưới dạng từ điển [định hướng danh sách]:"];

print[dictionaryInstance];

Output:

Nhiệt độ hàng ngày từ DataFrame:

& nbsp; & nbsp; & nbsp; & nbsp; 01/tháng 11/2019 & NBSP; 02/tháng 11/2019 & NBSP; 03/tháng 11/2019 & NBSP; 04/tháng 11/2019 & nbsp; 05/tháng 11/2019

Max & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 65 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 62 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 61 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 62 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 64

Min & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 62 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 60 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 60 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 60 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 62

DataFrame như một từ điển [định hướng danh sách]:

Ác : [62, 60], '05/tháng 11/2019 ': [64, 62]}

Ví dụ - Tạo một từ điển của các mục & nbsp; từ một gấu trúc DataFrame:

# Ví dụ chương trình Python tạo ra một từ điển Python # chứa các cặp pandas nhập giá có giá trị khóa dưới dạng PDS
# containing key-value pairs of
import pandas as pds

# Ví dụ Dữ liệu FruitCalories = [["Apple", & NBSP; 52, 0.2], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Orange", & nbsp; 47, & nbsp; 0.1], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Dứa", 50, 0.1], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Bơ", 160, 15.0], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["kiwi", & nbsp; & nbsp; 61, & nbsp; 0.5]];
fruitCalories = [["Apple",   52, 0.2],
                 ["Orange",  47,  0.1],
                 ["Pineapple", 50, 0.1],
                 ["Avocado", 160, 15.0],
                 ["Kiwi",    61,  0.5]];

Cột leheaders = ["trái cây", "calo", "hàm lượng chất béo"];

# Tạo một bản fruitdata dataFrame & nbsp; & nbsp; & nbsp; = pds.dataFrame [data = fruitcalories, cột = cột đầu];
fruitData       = pds.DataFrame[data = fruitCalories, columns=columnHeaders];

# Có được một từ điển với & nbsp; mục NutrivalSasdict = fruitData.to_dict [Orient = 'series'];
nutriValsAsDict = fruitData.to_dict[orient='series'];

in ["Truy xuất các chuỗi cá nhân từ từ điển:"]; cho các chìa khóa trong Nutrivalsasdict: & NBSP; & nbsp; in [Nutrivalsasdict [khóa]]; & nbsp; & nbsp; in [loại [Nutrivalsasdict [khóa]]];
for keys in nutriValsAsDict:
    print[nutriValsAsDict[keys]];
    print[type[nutriValsAsDict[keys]]];

Output:

Truy xuất các chuỗi cá nhân từ từ điển:

0 & nbsp; & nbsp; & nbsp; & nbsp; Quả táo

1 & nbsp; & nbsp; & nbsp; Quả cam

2 & nbsp; & nbsp; Quả dứa

3 & nbsp; & nbsp; & nbsp; Trái bơ

4 & nbsp; & nbsp; & nbsp; & nbsp; Quả kiwi

Tên: Fruit, DTYPE: Đối tượng

& nbsp; & nbsp; & nbsp; & nbsp; 01/tháng 11/2019 & NBSP; 02/tháng 11/2019 & NBSP; 03/tháng 11/2019 & NBSP; 04/tháng 11/2019 & nbsp; 05/tháng 11/2019

0 & nbsp; & nbsp; 52

1 & nbsp; & nbsp; 47

2 & nbsp; & nbsp; 50

3 & nbsp; & nbsp; 160

4 & nbsp; & nbsp; 61

Tên: calo, dtype: int64

0 & nbsp; & nbsp; 0,2

0 & nbsp; & nbsp; 52

1 & nbsp; & nbsp; 47

2 & nbsp; & nbsp; 50

3 & nbsp; & nbsp; 160

4 & nbsp; & nbsp; 61

Tên: calo, dtype: int64

0 & nbsp; & nbsp; 0,2

0 & nbsp; & nbsp; 52

1 & nbsp; & nbsp; 47
# from a DataFrame which will have index, column labels
# and data as separate entries  
import pandas as pds

2 & nbsp; & nbsp; 50
                ["Amazon", 6400, 3976],
                ["Yangtze", 6300, 3917],
                ["Mississippi", 6275, 3902],
                ["Yenisei", 5539, 3445]
                ];

3 & nbsp; & nbsp; 160

4 & nbsp; & nbsp; 61
riverData   = pds.DataFrame[data = riverLengths, columns = columns];
print[riverData];

Tên: calo, dtype: int64
riverDataDict = riverData.to_dict[orient="split"];
print[riverDataDict];

Output:

DataFrame:

0 & nbsp; & nbsp; 0,2

1 & nbsp; & nbsp; 0,1

2 & nbsp; & nbsp; 0,1

2 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Yangtze & nbsp; & nbsp; & nbsp; & nbsp; 6300 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 3917

3 & nbsp; & nbsp; & nbsp; Mississippi & NBSP; & nbsp; & nbsp; & nbsp; 6275 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 3902

4 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Yenisei & nbsp; & nbsp; & nbsp; & nbsp; 5539 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 3445

DataFrame như một từ điển với các mục riêng cho chỉ mục, nhãn cột và dữ liệu:

{'index': [0, 1, 2, 3, 4], 'cột': ['Tên của dòng sông', 'chiều dài [kms]', 'chiều dài [dặm]'], 'dữ liệu': [[ 'Nile', '6650', 4130], ['Amazon', 6400, 3976], ['Yangtze', 6300, 3917], ['Mississippi', 6275, 3902], ['Yenisei', 5539, 3445] ]}

Ví dụ - Bản ghi DataFrame được lưu trữ là:

# Ví dụ chương trình Python tạo ra một từ điển của & nbsp; # Từ điển từ một DataFrame của Pandas. # Lưu trữ từ điển được trả về các cặp giá trị khóa ở dạng # của gấu trúc nhập khẩu dưới dạng PDS
# dictionaries from a pandas DataFrame.
# Returned dictionary stores key-value pairs in the
# form of
import pandas as pds

# Data CountryData = [["Nga", "Moscow", 6601670, 146171015], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Canada", "Ottawa", 3855100, 38048738], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Trung Quốc", "Bắc Kinh", 3705407, 1400050000], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Hoa Kỳ", "Washington, D.C.", 3796742, 331449281], & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ["Brazil", "Brasília", 3287956, 210147125]]]
countryData = [["Russia", "Moscow", 6601670, 146171015],
               ["Canada", "Ottawa", 3855100, 38048738],
               ["China", "Beijing", 3705407, 1400050000],
               ["United States of America", "Washington, D.C.", 3796742, 331449281],
               ["Brazil", "Brasília", 3287956, 210147125]]

Cột leheaders = ["Quốc gia", "Thủ đô", "Khu vực [sq.miles]", "dân số"]; & nbsp;

# Tạo một gấu trúc dataFrame df = pds.dataFrame [data = countryData, cột = cộtheaders]; in ["DataFrame:"]; in [DF];
df = pds.DataFrame[data = countryData, columns=columnHeaders];
print["DataFrame:"];
print[df];

# Có được dữ liệu dưới dạng từ điển của từ điển in ["DataFrame trong mẫu hồ sơ:"]; recs = df.to_dict [Orient = "index"]; in [recs];
print["DataFrame in records form :"];
recs = df.to_dict[orient="index"];
print[recs];

Output:

DataFrame:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Quốc gia & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Thủ đô & NBSP; Diện tích [sq.miles] & nbsp; Dân số

0 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Nga & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Moscow & NBSP; & nbsp; & nbsp; & nbsp; 6601670 & nbsp; 146171015

1 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Canada & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Ottawa & nbsp; & nbsp; & nbsp; & nbsp; 3855100 & nbsp; & nbsp; 38048738

2 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Trung Quốc & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; Bắc Kinh & nbsp; & nbsp; & nbsp; & nbsp; 3705407 & nbsp; 1400050000

3 & nbsp; Hợp chủng quốc Hoa Kỳ & NBSP; Washington, D.C. & NBSP; & nbsp; & nbsp; & nbsp; 3796742 & nbsp; 331449281

4 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Brazil & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; Brasília & nbsp; & nbsp; & nbsp; & nbsp; 3287956 & NBSP; 210147125

DataFrame trong mẫu hồ sơ:

{0: {'Quốc gia': 'Nga', 'Thủ đô': 'Moscow', 'Khu vực [Sq.Miles]': 6601670, 'Dân số': 146171015}, 1: {'Quốc gia': 'Canada', ' Thủ đô ':' Ottawa ',' khu vực [sq.miles] ': 3855100,' dân số ': 38048738}, 2: {' quốc gia ':' Trung Quốc ',' Thủ đô ':' Beijing ',' khu vực [sq.miles ] ': 3705407,' Dân số ': 1400050000}, 3: {' Quốc gia ':' Hoa Kỳ Hoa Kỳ ',' Thủ đô ':' Washington, D.C. ',' Khu vực [Sq.Miles] ': 3796742,' Dân số ' Hay

Tôi có thể lưu trữ một khung dữ liệu trong một python từ điển không?

Một gấu trúc DataFrame có thể được chuyển đổi thành từ điển Python bằng cách sử dụng phương thức thể hiện DataFrame to_dict []. Đầu ra có thể được chỉ định của các hướng khác nhau bằng cách sử dụng tham số hướng. Trong định hướng từ điển, đối với mỗi cột của dataFrame, giá trị cột được liệt kê theo nhãn hàng trong từ điển.. The output can be specified of various orientations using the parameter orient. In dictionary orientation, for each column of the DataFrame the column value is listed against the row label in a dictionary.

DataFrame có thể là chìa khóa trong từ điển không?

Phương thức to_dict [] được sử dụng để chuyển đổi DataFrame thành đối tượng Dictionary [Dict].Sử dụng phương thức này nếu bạn có một khung dữ liệu và muốn chuyển đổi nó thành đối tượng Dictionary [Dict] từ điển Python bằng cách chuyển đổi tên cột thành phím và dữ liệu cho mỗi hàng làm giá trị.Phương pháp này lấy param orrient được sử dụng chỉ định định dạng đầu ra.. Use this method If you have a DataFrame and want to convert it to python dictionary [dict] object by converting column names as keys and the data for each row as values. This method takes param orient which is used the specify the output format.

Bạn có thể lưu một khung dữ liệu không?

Thường thì bạn có thể muốn lưu một khung gấu dữ liệu để sử dụng sau mà không gặp rắc rối khi nhập dữ liệu một lần nữa từ tệp CSV.Điều này sẽ lưu DataFrame trong môi trường làm việc hiện tại của bạn.Ví dụ sau đây cho thấy cách sử dụng các chức năng này trong thực tế.save a pandas DataFrame for later use without the hassle of importing the data again from a CSV file. This will save the DataFrame in your current working environment. The following example shows how to use these functions in practice.

Pandas DataFrame có phải là một từ điển không?

Pandas có thể tạo các khung dữ liệu từ nhiều loại cấu trúc dữ liệu mà không cần bạn phải viết nhiều mã dài.Một trong những cấu trúc dữ liệu đó là một từ điển.One of those data structures is a dictionary.

Bài Viết Liên Quan

Chủ Đề