亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python pandas 如何復制某些列

Python pandas 如何復制某些列

嗶嗶one 2023-06-13 16:51:10
我有一個數據框行:key1 key2 key3 val1 val2 val3 .. valn  a    b    c     1   2     3      14我想復制值列:key1 key2 key3 val1_0 val2_0 val3_0 .. valn_0 val1_1 val2_1 val3_1 .. valn_1  a    b    c     1     2      3          14     1       2     3      14做這個的最好方式是什么?
查看完整描述

3 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

嘗試


s = df.filter(like='val')

df = pd.concat([df.drop(s.columns,1),s.add_suffix('_0'),s.add_suffix('_1')],axis=1)

df

Out[106]: 

  key1 key2 key3  val1_0  val2_0  ...  valn_0  val1_1  val2_1  val3_1  valn_1

0    a    b    c       1       2  ...     NaN       1       2       3     NaN

[1 rows x 11 columns]


查看完整回答
反對 回復 2023-06-13
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

最簡單的方法是迭代你的列,檢查它是否是數字并復制它。


import pandas as pd

from pandas.api.types import is_numeric_dtype


df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': [1.0, 2.0, 3.0]})


columns = df.columns

for col in columns:

    if is_numeric_dtype(df[col]):

        df[col + '_1'] = df[col]

print(df.columns)

>> ['A','B','B_0']


查看完整回答
反對 回復 2023-06-13
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

從 df.columns 中獲取所有列名。然后進行字符串操作,例如添加 df 列名稱獨有的內容。然后循環遍歷分配部分中的新列名并將舊列分配給它。


偽代碼


for x in df.columns:


    df[x+"new"] =df[x]


查看完整回答
反對 回復 2023-06-13
  • 3 回答
  • 0 關注
  • 352 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號