根据列中的前缀创建 CSV



>我有一个CSV,但行的列数不同,因为在某些行中,缺少一些值。所以没有索引。每个值的"含义"目前由该值的前缀编码。我需要清理我的 CSV,以便创建一个新的 CSV,它仅根据前缀保存某些列的值。

看起来像这样:

001234;aA431;cFM33;jJE LE (3);xABCD;421;
004321;aB432;cPD99;433
006543;aC332;cHR31;x4231;499

新的CSV应该有一个标题,它的名字可以是列的前缀(第一个字母(:

0;a;c;4
01234;A431;FM33;21
04321;B432;PD99;33
06543;C332;HR31;99

我开始与python熊猫合作,所以任何这方面的提示都是受欢迎的。

您可以使用

df1=df.astype(str).copy()
cols = df1.iloc[0].str[0].tolist()
df1=df1.apply(lambda x: x.str[1:])
df1.columns = cols

输入

A        B       C       D             E     F
0   1234    aA431   cFM33   jJE LE (3)  xABCD   421.0
1   4321    aB432   cPD99   433           NaN   NaN
2   6543    aC332   cHR31   x4231         499   NaN

输出

print(df1)
1        a      c     j             x     4
0   234     A431    FM33    JE LE (3)   ABCD    21.0
1   321     B432    PD99    33            an    an
2   543     C332    HR31    4231         99     an
print(df1)

最新更新