在同一数据框熊猫中将多列合并为一列

用户名

我有一个看起来像这样的熊猫数据框:

Time (min)   20m Wind Speed (m/s)    Wind Dir (deg)     40m Wind Speed (m/s)     Wind Dir (deg).1   60m Wind Speed (m/s)    60m Wind Dir (deg)
       1.0            1.5                     120.4                      2.5                133.2                   3.5                    190.5               

我想将所有“风向”列合并为一个“风向”(deg)列,并将所有“风速”列合并为一个“风速(m / s)”列,以便数据框如下所示:

Time (min)       Wind Speed (m/s)         Wind Dir (deg)                                                                                                                                                           
       1.0                    1.5                  120.4                    
       NAN                    2.5                  133.2
       NAN                    3.5                  190.5

我研究了合并,联接和连接,但是这些似乎是用于将不同的数据帧组合在一起。我以为pd.melt或append可能有用,但我认为我没有使用示例正确地实现它。有人可以指出我正确的方向吗?谢谢!

话语

因此,我只是复制并粘贴了您的第一个代码块,并将其保存为test.ssv。您使用pd.melt的方向正确。

# Python 2.7.12 and pandas 0.19.2
import pandas as pd

df = pd.read_csv('~/Desktop/test.ssv', sep='\s\s+')

wind_speed_df = pd.melt(
    df, value_vars=['20m Wind Speed (m/s)', '40m Wind Speed (m/s)', '60m Wind Speed (m/s)'])
wind_dir_df = pd.melt(
    df, value_vars=['Wind Dir (deg)', 'Wind Dir (deg).1', '60m Wind Dir (deg)'])
wind_speed_df.reset_index(inplace=True, drop=True)
wind_dir_df.reset_index(inplace=True, drop=True)
wind_dir_df = wind_dir_df.rename(columns={'value': 'Wind Speed (m/s)'})
wind_speed_df = wind_speed_df.rename(columns={'value': 'Wind Dir (deg)'})
new_df = wind_speed_df.merge(wind_dir_df, right_index=True, left_index=True)
new_df.drop(['variable_x', 'variable_y'], inplace=True, axis=1)
new_df['Time (min)'] = df['Time (min)'].repeat(3).reset_index(drop=True)

print new_df.head()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在pandas / python的同一数据框中将两列合并为一列

如何在熊猫数据框中将两列合并为一列

将多列熊猫数据框合并为一列

通过根据列值熊猫数据框将一列置于另一列之下,将多列合并为一列

如何在SQL Server中将多列合并为同一表的一列?

要将多列合并为一列并计算唯一值的重复,并为熊猫数据框中的每个计数维护一个单独的列

将多列合并为一列熊猫

在合并时,从任一数据框中选择同一列的非空值?

在SQL中将多列合并为一列

在 Postgres 中将多列合并为一列

根据一列中的条件创建一个新的熊猫列,并从同一数据框中的多列中分配值

是否有R函数将同一数据帧中的多列合并到同一列中?

将熊猫数据列合并为一列

如何在同一数据框内合并熊猫列?

合并熊猫中同一数据框内的列值

如何使用熊猫数据框将所有列合并为一列?

如何将列列表合并为熊猫数据框中的一列?

熊猫:计算两列的不同组合并添加到同一数据框

将多列数据合并为一列

在数据框中将2列合并为一列

在同一数据框的列之间合并

熊猫通过同一数据框中的多列映射分组依据

如何在apache spark中将一列与同一数据框中的列进行比较

将一列中的词典列表转换为同一数据框中的多列

使用方法链接从同一数据框中的多列中减去一列

将大熊猫数据框的每一列与同一数据框的其他每一列相乘的最有效方法

将多列数据合并为一个熊猫

根据同一数据框的另一列绘制一个列

在同一df中将2列合并为一列,消除“ 0”值