相关文章推荐
率性的火锅  ·  日志服务 ...·  1 年前    · 
个性的山寨机  ·  cJSON源码解析 - 知乎·  1 年前    · 
留胡子的针织衫  ·  X509Certificate.Subjec ...·  1 年前    · 
import pandas as pd
df_tmp = pd.DataFrame([
    {"a":"data1", "cnt":100},{"a":"data2", "cnt":200},
df_tmp
a	cnt
data1	100
data2	200
方法一:使用apply 的参数result_type 来处理
def formatrow(row):
    a = row["a"] + str(row["cnt"])
    b = str(row["cnt"]) + row["a"]
    return a, b 
df_tmp[["fomat1", "format2"]] = df_tmp.apply(formatrow, axis=1, result_type="expand")
df_tmp
a	cnt	fomat1	format2
data1	100	data1100	100data1
data2	200	data2200	200data2
方法一:使用zip打包返回结果来处理
df_tmp["fomat1-1"], df_tmp["format2-2"] = zip(*df_tmp.apply(formatrow, axis=1))
df_tmp
a	cnt	fomat1	format2	fomat1-1	format2-2
data1	100	data1100	100data1	data1100	100data1
data2	200	data2200	200data2	data2200	200data2
                    转载他人的,本来自己想写,算了import pandas as pddf_tmp = pd.DataFrame([    {"a":"data1", "cnt":100},{"a":"data2", "cnt":200},])df_tmpa	cntdata1	100data2	200方法一:使用apply 的参数result_type 来处理def formatrow(ro...
df1['text'] = df1['RFRV'].apply(get_need)
df1[['complexity','comple_ci','num_ci','count']] = df1['text'].apply(pd.Series)
    def find_in(series):
        seq = series['Delte Formula']
        res = [ i.start() for i in re.finditer(sort_seq, seq, flags=re.IGNORECASE)]
        return len(res), json.dumps(res)
				
多的不说,请看代码~df = pd.DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) def my_test(a, b): return a + b df['Value'] = df.apply(lambda row: my_test(row...
df = pd.DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) def my_test(a, b): return a + b df['Value'] = df.apply(lambda row: my_test(row['a'], row['c']), axis=1
一个实例中,需要用两个相除,且要判断除数不为0,求教了大佬,用如下方法解决 apply取出一行的值,再用一个自定义函数。 chengji=[[100,95,100,98],[90,98,0,94],[88,95,98,95],[99,98,97,92],[95,90,96,88],[94,94,93,77]] data=pd.DataFrame(chengji,columns=['语文','类别...
luduan_info[["STAKE_84X", "STAKE_84Y"]] = \ luduan_info.apply(lambda row:\ wgs84toutm(row["start_longitude"], row["start_latitude"]), axis=1, result_type="expand") 划重点result_type="expand"
df = pd.DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) def my_test(a, b): return a + b df['Value'] = df.apply(lambda row: my...
方法一:把 df.apply(function, axis=1)改为:zip(*df.apply(function, axis=1)) 方法二:修改apply循环的那个函数,使其在传入的series中修改,并返回一个series 方法三:在apply中加一个参数result_type,改为:df.apply(add_one, axis=1, result_type='expand') 对于下面的代码: import pandas as pd # 对传入的值做 +1 的操作 def a
pandas的DataFrame对象的apply方法可以将传入的函数应用到每一或每一行进行元素级别的运算。通过使用apply方法,可以对多进行操作。 例如,可以通过lambda表达式来对多进行处理。可以使用axis参数来指定按行(axis=1)或按(axis=0)进行操作。比如,通过以下代码可以将A和B相加并赋值给C: df['C'] = df.apply(lambda x: x['A'] + x['B'], axis=1) 另外,也可以使用自定义的函数来操作多。通过定义一个自定义函数,然后使用apply方法将该函数应用到DataFrame对象的多上。比如,可以定义一个函数来判断条件,并根据条件来赋值一个新: def get_wendu_type(x): if x['bWendu'] > 33: return "高温" elif x['yWendu'] < -10: return "低温" else: return "常温" df['wendu_type'] = df.apply(get_wendu_type, axis=1) 以上是两种常见的方法来处理pandas DataFrame对象的多。可以根据具体的需求选择合适的方法来对多进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pandas DataFrame新增一](https://blog.csdn.net/m0_64336020/article/details/122130294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]