簡體   English   中英

從列表列表中提取元素 - Python Pandas

[英]Extract elements from a list of lists - Python Pandas

我有以下pandas數據框只有一列:

          column_name
0   cc_call_center_sk
1   cc_call_center_id
2   cc_rec_start_date
3     cc_rec_end_date

我想要做的是提取該pandas列中的每個元素並將其放入如下字符串:

my_string = ['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 
'cc_rec_end_date']

我嘗試使用以下代碼執行此操作:

my_list = column_names.values.tolist()

但是,輸出是一個列表,並不是所希望的:

[['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']]

df.names.tolist()生成預期結果:

>>> df.name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']

例如:

>>> df=pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df
               names
0  cc_call_center_sk
1  cc_call_center_id
2  cc_rec_start_date
3    cc_rec_end_date
>>> df = pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df.names.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']

你確定你沒有“分組”值,或者在獲得df.names之前執行其他“預處理”嗎?

您可以在'column_name'系列上使用tolist方法。 請注意, my_string字符串列表 ,而不是字符串。 您指定的名稱不合適。

>>> import pandas as pd
>>> df = pd.DataFrame(['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date'],
...                   columns=['column_name'])
>>> df
         column_name
0  cc_call_center_sk
1  cc_call_center_id
2  cc_rec_start_date
3    cc_rec_end_date
>>>
>>> df['column_name'].tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']

如果您更喜歡點符號,則以下代碼也是如此。

>>> df.column_name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']

假設您有一個名為df的數據框,如下所示:

df
    column_name
0   cc_call_center_sk
1   cc_call_center_id
2   cc_rec_start_date
3   cc_rec_end_date

然后:

my_string = df.column_name.values.tolist()

要么:

my_string = df['column_name'].values.tolist()

會給你你想要的結果。 這是打印my_string時的結果

['cc_call_center_sk',
'cc_call_center_id',
'cc_rec_start_date',
'cc_rec_end_date']

你要做的是這樣的:

my_strings = df.values.tolist()

這將為您提供一個列表列表,其中外部列表​​中的列表數量等於數據框中的觀察數量。 每個列表將包含與1個觀察有​​關的所有特征信息。

我希望我能清楚地向你解釋這一點。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM