Python数据帧修剪:帕金森病()与。测向下降()与df2=df1[选择列]

2024-09-25 16:32:24 发布

您现在位置:Python中文网/ 问答频道 /正文

数据帧df1包含列WeekMonSunTotal。在

以下是从df1中的列创建新数据帧“df2”的3种方法:

df2 = pd.concat(
    [df1.Sun,df1.Mon, 
    df1.Tues, df1.Weds,
    df1.Thurs, df1.Fri,
    df1.Sat], axis=1)

df2 = df1.drop(['Week', 'Total'], axis=1)

df2 = df1[['Sun','Mon','Tues','Weds','Thurs','Fri','Sat']]

这些有什么不同?在什么情况下各自有利?在


Tags: 数据方法sattotalpdsundf1df2
1条回答
网友
1楼 · 发布于 2024-09-25 16:32:24

我想主要的优势是处理时间。{我用你的样本库做了一些比较。看起来选项2和3要快得多。如果有很多列并且不方便把它们都写出来,我会使用选项2,反之亦然。希望这有帮助。在

import pandas as pd
import numpy as np
daysOfWeek = ['Sun','Mon','Tues','Weds','Thurs','Fri','Sat', 'Week', 'Total']

df1 = pd.DataFrame()

for i in range(0, len(daysOfWeek)):
    #create array with random numbers
    df1[daysOfWeek[i]] = np.random.randint(0,10,500)
print(df1.head())

第一个选项:100个回路,最佳3:1.01ms/回路

^{pr2}$

第二个选项:100个环路,最好每环路3:743µs

df2 = df1.drop(['Week', 'Total'], axis=1)

第三种选择:100个环路,最好每环路3:838µs

df2 = df1[['Sun','Mon','Tues','Weds','Thurs','Fri','Sat']]

相关问题 更多 >