欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas將DataFrame的幾列數據合并成為一列

 更新時間:2022年02月08日 10:14:32   作者:Yale曼陀羅  
本文主要介紹了pandas將DataFrame的幾列數據合并成為一列,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1.1 方法歸納

  • 使用 + 直接將多列合并為一列(合并列較少);
  • 使用pandas.Series.str.cat方法,將多列合并為一列(合并列較多);

范例如下:

dataframe["newColumn"] = dataframe["age"].map(str) + dataframe["phone"] + dataframe["address”]
#或者
dataframe["newColumn"] = dataframe["age"].map(str).str.cat([dataframe["phone"],dataframe["address”]],sep='-',na_rep='?')

注意事項:

  • 參與合并的列的數據類型必須為str類型,int和float等數值類型需先轉化為str;
  • 參與合并的列的長度必須相同(即:行數),否則報錯,但使用pandas.Series.str.cat方法,可通過指定參數join={‘left’, ‘right’, ‘outer’, ‘inner’},實現長度不相等的列合并;
  • 參與合并的列的各行元素均不為NaN,否則,只要有一列的對應行元素為NaN,則合并結果中該行將為NaN,但使用pandas.Series.str.cat方法,可通過指定參數na_rep='-',將各列中缺失行元素填充為‘-’,從而保留合并列的所有行元素;

1.2 .str.cat函數詳解

1.2.1 語法格式:

# pandas.Series.str.cat語法如下:
Series.str.cat(others=None, sep=None, na_rep=None, join=None)

1.2.2 參數說明:

others : 準備合并的字符串列表,其數據類型可以為:Series, Index, DataFrame, np.ndarrary(N元數組) or list-like(類似列表)

備注: 由于默認join=None,所以欲合并的兩個(多個)字符串列表必須具有相同的長度,否則需設置參數join= {‘left’, ‘right’, ‘outer’, ‘inner’},來控制多個字符串列表的合并方式。

(1)如果others=None(即:字符串列表df[col_1]不與其他字符串列表合并),結果將不傳遞其他值,而是將df[col_1]的所有值都連接成一個字符串;(詳見范例1-1)

(2)如果others≠None(即:指定了與字符串列表df[col_1]合并的其他字符串列表df[col_2]),結果將用分隔符把df[col_1]與df[col_2]對應的行值連接在一起, 返回Series。(詳見范例1-2)

sep:合并結果中不同元素/列之間的分隔符。默認情況下,使用空字符串’ ’ 。
na_rep:為所有缺失值插入的內容,其數據類型可以為:str或None,默認na_rep=None

備注:

(1)如果na_rep=None,則多個合并列中只要有一列的對應行元素為NaN,合并結果中該行元素將為NaN;
(2)如果na_rep=‘str’(str需自定義),則合并列中各缺失行元素將被填充為‘str’,合并結果將保留合并列的所有行元素;

join :確定連接方式,其可能的取值為:{‘left’, ‘right’, ‘outer’, ‘inner’},默認join=None

1.2.3 核心功能:

  • 將Series中的多個字符串[‘a’, ‘b’, ‘c’]拼接為一個字符串’a b c’(字符串拼接)
  • 將DataFrame中的兩(多)列df[col_1]和df[col_2]合并為一列(多列合并)

備注: pandas.Series.str.cat僅適用于str類型的數據,int和float等數值型需先轉化為str型,才可調用此方法。
int型轉為str的方法:

1、df[‘Price’]=df[‘Price’].map(lambda x: str(x))
2、df[‘Price’]=df[‘Price’].map(str)
3、df[‘Price’]=df[‘Price’].astype(‘str’)

若要同時將多列合并為一列,需引入列表list來指定準備合并的列,例如:

df[col_1].str.cat([df[col_2],df[col_3],df[col_4]],sep='-')

1.2.4 常見范例:

import numpy as np
import pandas as pd
#創(chuàng)建原始數據
s=pd.Series(['a','b',np.nan,'d'])
>>>
s
0      a
1      b
2    NaN
3      d
# other=None時,調用s.str.cat(),可將series轉為用分隔符sep分隔的字符串,缺失項將被省略
s1=s.str.cat(sep=' ')
>>>
s1
'a b d'
# other=None時,指定na_rep='?',結果將保留原series中的缺失項,并用?代替
s2=s.str.cat(sep=' ',na_rep='?')
>>>
s2
'a b ? d'
# other≠None時,調用s.str.cat(),可將兩個字符串列表df[col_1]與df[col_2]合并為一列,結果用分隔符sep分隔各項元素,由于默認na_rep=None,故合并時若df[col_1]與df[col_2]的對應行元素有一個為NaN,則合并后該行元素值將為None,結果返回Series
s3=s.str.cat(['A','B','C','D'],sep=',')
>>>
s3
0    a,A
1    b,B
2    NaN
3    d,D
#  other≠None時,調用s.str.cat(),可將兩個字符串列表df[col_1]與df[col_2]合并為一列,指定na_rep='-',故合并結果將保留df[col_1]與df[col_2]的所有行,且將df[col_1]與df[col_2]的缺失項填充為‘-'
s4=s.str.cat(['A','B','C','D'],sep=',',na_rep='-')
>>>
s4
0    a,A
1    b,B
2    -,C
3    d,D
# 欲合并的字符串列表df[col_1]與df[col_2]的索引不同時,需指定參數join,確定連接方式
t=pd.Series(['d','a','e','c'],index=[3,0,4,2])
s_1=s.str.cat(t,join='left',na_rep='-')
>>>
s_1
0    aa
1    b-
2    -c
3    dd
s_2=s.str.cat(t,join='outer',na_rep='-')
>>>
s_2
0    aa
1    b-
2    -c
3    dd
4    -e
s_3=s.str.cat(t,join='inner',na_rep='-')
>>>
s_3
0    aa
2    -c
3    dd
s_4=s.str.cat(t,join='right',na_rep='-')
>>>
s_4
3    dd
0    aa
4    -e
2    -c

到此這篇關于pandas將DataFrame的幾列數據合并成為一列的文章就介紹到這了,更多相關pandas DataFrame列合并內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python 簡單的多線程鏈接實現代碼

    python 簡單的多線程鏈接實現代碼

    這篇文章主要介紹了python 簡單的多線程鏈接實現代碼,需要的朋友可以參考下
    2016-08-08
  • python使用Plotly繪圖工具繪制柱狀圖

    python使用Plotly繪圖工具繪制柱狀圖

    這篇文章主要為大家詳細介紹了python使用Plotly繪圖工具繪制柱狀圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • pyqt 實現為長內容添加滑輪 scrollArea

    pyqt 實現為長內容添加滑輪 scrollArea

    今天小編就為大家分享一篇pyqt 實現為長內容添加滑輪 scrollArea,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Django中自定義admin Xadmin的實現代碼

    Django中自定義admin Xadmin的實現代碼

    這篇文章主要介紹了Django中自定義admin---Xadmin的實現代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • python向MySQL數據庫插入數據的操作方法

    python向MySQL數據庫插入數據的操作方法

    這篇文章主要介紹了python向MySQL數據庫插入數據,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • 五個方便好用的Python自動化辦公腳本的實現

    五個方便好用的Python自動化辦公腳本的實現

    在沒有人工干預的情況下,機器可以自己完成各項任務,這大大提升了工作效率。Python因為語法簡潔易懂,而且有豐富的第三方工具庫,所以非常適合編寫自動化腳本,本文就為大家?guī)砹宋鍌€這樣的腳本,需要的可以參考一下
    2022-01-01
  • Python使用scipy保存圖片的一些注意點

    Python使用scipy保存圖片的一些注意點

    這篇文章主要介紹了Python使用scipy保存圖片的一些注意點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python實現某論壇自動簽到功能

    Python實現某論壇自動簽到功能

    這篇文章主要介紹了Python實現論壇自動簽到功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • python+pyqt5實現24點小游戲

    python+pyqt5實現24點小游戲

    這篇文章主要為大家詳細介紹了python+pyqt5實現24點小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • KMP算法精解及其Python版的代碼示例

    KMP算法精解及其Python版的代碼示例

    KMP算法基本上被人們用作字符串的匹配操作,這里我們就來介紹KMP算法精解及其Python版的代碼示例,需要的朋友可以參考下
    2016-06-06

最新評論