簡體   English   中英

如何將Dataframe列分為兩部分並用拆分值替換列

[英]How to split Dataframe column into two parts and replace column with splitted value

如何將數據框列拆分為兩部分,以便稍后將數據框列中的值替換為拆分后的值。 例如,我有一個數據框,如:

col1       col2
"abc"      "A, BC"
"def"      "AX, Z"
"pqr"      "P, R"
"xyz"      "X, YZ"

我想先提取值,然后用提取的值替換該單元格。 因此,輸出應如下所示:

col1   col2
abc    A
def    AX
pqr    P
xyz    X

我正在嘗試這樣做:

df['col2'].apply(lambda x: x.split(',')[0])

但這給了我錯誤。 請提出如何獲得所需的輸出的建議。

在這種情況下,您可以使用將使用矢量化函數的pandasstr方法。 apply速度也將更快。

df.col2 = df.col2.str.split(', ').str[0]

>>> df
Out[]:
  col1 col2
0  abc    A
1  def   AX
2  pqr    P
3  xyz    X

要在包含字符串的Series上使用此函數,應在任何函數之前調用str屬性。 有關更多詳細信息,請參見文檔

在上述解決方案中,請注意替換了split.str.split(', ') .str[0]允許切片拆分結果,而僅使用.str.split(', ')[0]將獲得Series索引0。

暫無
暫無

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

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