gpt4 book ai didi

python - 用 Pandas 读取一列文件

转载 作者:行者123 更新时间:2023-12-04 07:14:51 27 4
gpt4 key购买 nike

我正在尝试将以下文件读入 Pandas 数据帧:

(dataA
0
400
2800
9200
5600
2000
8400
4800
1200
7600
4000
400
6800
)
(dataB
30
30
30
30
30
30
20
500
30
50
330
530
930
)
目标是拥有这样的东西:
dataA dataB
0 30
400 30
2800 30
9200 30
5600 30
2000 30
8400 20
4800 500
1200 30
7600 50
4000 330
400 530
6800 930
我知道这可以通过逐行读取文件来完成,但我想知道是否有一种简单的方法可以让 Pandas 读取它(例如 read_csv)。
这是因为有很多与此类似的文件,并且已经针对该类型的数据进行了自动化后处理。

最佳答案

基于您有将列分开的 parethisis 这一事实,我们可以创建两个新索引并取消堆叠您的列。
使用 header=None 阅读文件很重要

df = pd.read_excel(...,header=None)

s = df[0].str.contains('\(',regex=True)

df1 = df.set_index([s.cumsum(), df.groupby(s.cumsum()).cumcount()]).unstack(0)
#additional clean up
df1 = df1.replace('\(|\)','',regex=True).replace('',np.nan).dropna().droplevel(0,1)
#setup columns.
df1.columns = df1.iloc[0]
df1 = df1.iloc[1:]



print(df1)
0 dataA dataB
1 0 30
2 400 30
3 2800 30
4 9200 30
5 5600 30
6 2000 30
7 8400 20
8 4800 500
9 1200 30
10 7600 50
11 4000 330
12 400 530
13 6800 930

关于python - 用 Pandas 读取一列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68829188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com