日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python列表的嵌套_Python中关于列表嵌套列表的处理

發布時間:2025/3/15 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python列表的嵌套_Python中关于列表嵌套列表的处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在處理列表的時候我們經常會遇到列表中嵌套列表的結構,如果我們要把所有元素放入一個新列表,或者要計算所有元素的個數的話應該怎么做呢?

第一個例子

對于上圖中的這樣一組數據,如果我們要知道這個CSV文件中所有演員的數量(同一個人只能出現一次)應該怎么做呢?

在pandas中我們可以先取Actors這一列,但是取出來之后我們會發現這是一個列表中嵌套列表的結構,要想將所有元素提取出來我們可以使用兩個for循環來解決這一問題。代碼如下:

# encoding = utf-8

import pandas as pd

file_path = "d:/learning/pandas/IMDB-Movie-Data.csv"

df = pd.read_csv(file_path)

print(df.head(1))

# 讀平均評分

print(df["Rating"].mean())

# 導演的人數(下面兩個操作達到的效果是一樣的)

print(len(set(df["Director"].tolist())))

print(len(df["Director"].unique()))

# 獲取演員的人數

temp_list = df["Actors"].str.split(", ").tolist()

# 將列表套列表轉為單列表

actors_list = [i for j in temp_list for i in j]

# set函數是對列表作集合操作,可以去重

print(len(set(actors_list)))

第二個例子

我們再來看第二組例子,還是上圖中的數據,如果我們想要統計各個分類的電影的數量,應該怎么做呢?核心思想是:

先處理列表嵌套列表,將所有的分類統計出來;

建立一個值全為0的數組,這個數組的行數等于電影數,列數等于分類數;

在這個數組的列方向上進行求和,得出結果。

# coding=utf-8

import pandas as pd

import numpy as np

from matplotlib import pyplot as plt

file_path = "~/桌面/IMDB-Movie-Data.csv"

df = pd.read_csv(file_path)

# 新建臨時列表,將數組中分類列讀取

temp_list = df["Genre"].str.split(",").tolist()

# 處理列表嵌套列表的結構,去除重復元素

Genre_list = set([i for j in temp_list for i in j])

# 新建一個統計數組,即上文所說的第二步

a = pd.DataFrame(np.zeros((df.shape[0], len(Genre_list))), columns=Genre_list, dtype=int)

# 賦值,將上述列表中對應的位置的值變為1

for i in range(len(temp_list)):

a.loc[i, temp_list[i]] = 1

# 求和,統計每個分類的電影的數量

sum = a.sum(axis=0)

sum = sum.sort_values(ascending=False)

# 繪制條形統計圖

_x = sum.index

_y = sum.values

plt.figure(figsize=(20, 8), dpi=80)

plt.yticks(range(max(sum.values)+50)[::50])

plt.bar(_x, _y)

plt.show()

結果如圖:

這里有一個重要的問題,如果原始數據的行數特別多,再采用for循環進行行遍歷就會耗費特別長的時間

解決辦法見這里的第三個例子。

總結

以上是生活随笔為你收集整理的python列表的嵌套_Python中关于列表嵌套列表的处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。