Python,解析列数据,熊猫 [重复]

Posted

技术标签:

【中文标题】Python,解析列数据,熊猫 [重复]【英文标题】:Python, Parsing Column Data, pandas [duplicate] 【发布时间】:2018-07-31 04:45:23 【问题描述】:

请看下图

我正在尝试从第 1 列和第 7 列中获取信息并将它们组合在一起。 我以前做过这种操作,但正如您在上图中注意到的那样,第 1 列的一些信息表格分布在几行上,而第 7 列的信息是逐行分隔的。 我如何能够将适当的信息组合在一起?使得想要的结果如下:

x = [('1900ISR', 0), ('2800', 8000, 0), ('2900ISR', 0, 0), ('3900ISR', 0), ('800BB', 0),('ACEAPP',0),('AIR120A',899),('AIRCMN', 59), ('APP',7800),('ASAMID', 5000, 0, 0, 0, 0), ('C4500', 36990),('C6000', 297000, 70000, 12000,0,0, 60000)]

我的尝试如下:

df1 = pd.read_excel("EXCELFILENAME", parse_cols = "B")
df2 = pd.read_excel("EXCELFILENAME", parse_cols = "H")

df1 = df1.values.tolist()
df2 = df2.values.tolist()

a = list(zip(df1,df2))
print(a)

但是,上面的代码是不正确的,因为它输出了一个将所需列压缩在一起的列表,但它没有考虑与第一列中某些输入相关联的多行。

更具体的见下文:

输出片段

[(['1900ISR'], [0.0]), (['2800'], [8000.0]), (['2900ISR'], [0.0]), (['3900ISR'], [0.0]), (['800BB'], [0.0]), (['ACEAPP'], [0.0]), (['AIR120A'], [0.0]), (['AIRCMN'], [0.0]), (['APP'], [899.0])]

在此处的输出中,条目 AIR120A 应该具有关联的编号 899,但是它具有不正确的 0.0,来自未关联到其相应条目的先前条目。

有没有办法达到我想要的结果?

【问题讨论】:

是否可以将此excel保存为.csv并从那里开始? 【参考方案1】:

使用

df.reset_index(inplace=True)  

这会将您的索引移动到一列中,然后您可以从那里连接,然后在必要时重新索引。

【讨论】:

以上是关于Python,解析列数据,熊猫 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字典转换为两列熊猫数据框[重复]

合并Dataframe(熊猫)中的所有列-python3 [重复]

熊猫:对两列一起排序[重复]

熊猫数据框python中的解包列表[重复]

熊猫将列转换为行[重复]

循环遍历熊猫中的行[重复]