我有一个 ~2MM 行数据框。我有一个问题,在用定界符拆分一列之后,看起来好像没有一致数量的列合并到这个拆分中。
为了解决这个问题,我尝试使用有条件的新列 C,如果条件为真,则应等于列 A。如果为假,则设置为等于列 B。
编辑:在尝试提供的解决方案时,我尝试了下面列出的一些代码,但它没有更新任何行。这是我正在使用的数据集的一个更好的例子:
Scenario meteorology time of day
0 xxx D7 Bus. Hours
1 yyy F3 Offshift
2 zzz Bus. Hours NaN
3 aaa Offshift NaN
4 bbb Offshift NaN
前两行格式正确。场景、气象和一天中的时间已从合并的列中正确拆分出来。但是,在其他行中,合并列没有气象数据。因此,“一天中的时间”数据已填充到“气象”中,导致“一天中的时间”为 nan。
这是建议的方法:
from dask import dataframe as dd
ddf = dd.from_pandas(df, npartitions=10)
ddf[(ddf.met=='Bus. Hours') | (ddf.met == 'Offshift')]['time'] = ddf['met']
ddf[(ddf.met=='Bus. Hours') | (ddf.met == 'Offshift')]['met'] = np.nan
这不会更新“time”或“met”中的相应行。
我也试过在熊猫中这样做:
df.loc[(df.met == 'Bus.Hours') | (df.met == 'Offshift'), 'time'] = df['met']
df.loc[(df.met == 'Bus.Hours') | (df.met == 'Offshift'), 'met'] = np.nan
这种方法运行,但似乎无限期挂起。
慕斯709654
largeQ
相关分类