python - 如何在 Pandas Dataframe 中并排附加列
问题描述
我有一个这样的数据框
TEST_NUM SITE_NUM RESULT TEST_FLG TEST_TXT UNITS LO_LIMIT HI_LIMIT
0 100 0 -0.4284 P Continuity_PPMU XSCI V -1 -0.3
1 100 1 -0.4274 P Continuity_PPMU XSCI V -1 -0.3
2 100 2 -0.4276 P Continuity_PPMU XSCI V -1 -0.3
3 100 3 -0.4289 P Continuity_PPMU XSCI V -1 -0.3
4 101 0 -0.4569 P Continuity_PPMU XSCO V -1 -0.3
有TEST_TXT
53 个唯一值。
我希望我的数据框是这样的
LDO_Discharge V12 | Continuity_PPMU XSCI | Continuity_PPMU XSCO |Continuity_PPMU ADBUS0 |Continuity_PPMU ADBUS1 ....
1.04 |3.343 |1.91 | 2.1 | 3.1
RESULT
基本上,不同列的所有值TEST_TXT
并排,作为一列。但这里的诀窍是,LDO_Discharge V12
有 5512 个值,Continuity_PPMU ADBUS0
有 5528 个值。他们需要在SITE_NUM
.
因此,首先 SITE_NUM = 0 的行LDO_Discharge V12
,应该有 SITE_NUM = 0 的第一行,Continuity_PPMU ADBUS0
依此类推。他们应该加入,这样他们就有相同的 SITE_NUM。
如果 SITE_NUM 是唯一的或它们的计数相同,我会很容易做到这一点,但事实并非如此('LDO_Discharge V12' 为 5512,'Continuity_PPMU ADBUS0' 为 5528 或其他值)。
我想问一下如何组合,使得“ Continuity_PPMU ADBUS0
”SITE_NUM
与LDO_Discharge V12
'sSITE_NUM
按顺序排列。
并且如果没有特定集合的值(例如“ Continuity_PPMU XSCI
”缺少 SITE_NUM = 3,则可能因为不同“ TEST_TXT
”的计数不同),它应该NULL
留在那里。
很难像这样解释。如果需要更多说明,请告诉我。
解决方案
我并没有真正理解你的预期输出应该是什么样的,所以如果你能澄清这一点可能会有所帮助。但是,根据我收集的信息,您应该看看一些pandas
功能。所以:
查看 的axis = 1
参数pd.concat
,它可以让您在行的方向上连接。
df = pd.concat(iterator, axis = 1) # returns a DataFrame
但也许您想查看pd.DataFrame.groupby
,然后pd.DataFrame.agg
在分组后查看pd.DataFrame.sort_values
,这将类似于:
df = pd.DataFrame()
gdf = df.groupby(by = columns_to_group).agg({column_agg: function_agg, ...}) # returns DataFrame after `agg`
推荐阅读
- java - 只有 Android 的“奥利奥”版本给了我一个 java.io.FileNotFoundException
- r - 将具有相同 ID 的值分组到列中,而不在 R 中对它们进行汇总
- javascript - 在componentDidMount中设置State时触发onChange?
- django-admin - Django Admin 预填充用户的电子邮件
- c - Visual Studio for Linux Development 中缺少 gtk.h
- r - 将r中的多组列加在一起
- c# - 通过 CorrelationId 同步 RX .NET 订阅
- haskell - 如何在 Windows 上安装 QuickCheck?
- reactjs - React & Bootstrap 4 折叠
- command-line - 正确处理 std.getopt.GetOptException