gpt4 book ai didi

python - 从复数中删除括号 - Pandas

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:29 24 4
gpt4 key购买 nike

作为这篇文章的跟进 python pandas complex number现在这个复数可以很好地与 Pandas 一起工作,我想保存复数但没有括号 -当我使用以下命令时,最后一列(复数)打印在括号内编辑:这是完整的代码,用于读取数据文件(示例 here)

import numpy as np
import pandas as pd
df = pd.read_csv('final.dat', sep=",", header=None)
df.columns=['X.1', 'X.2', 'X.3', 'X.4','X.5', 'X.6', 'X.7', 'X.8']
df['X.8'] = df['X.8'].str.replace('i','j').apply(lambda x: np.complex(x))
df1 = df.groupby(["X.1","X.2","X.5"])["X.8"].mean().reset_index()
df1['X.3'] = df["X.3"] #add extra columns
df1['X.4']=df["X.4"]
df1['X.6']=df["X.6"]
df1['X.7']=df["X.7"]
sorted_data = df1.reindex_axis(sorted(df1.columns), axis=1)
sorted_data.to_csv = ('final_sorted.dat', sep=',', header = False)

一切正常,但在输出的 csv 文件中,复合体在括号内 - 我不能以这种方式使用它们,所以我想删除它们

最佳答案

Prob 可以更好地支持读/写复数,但 ATM 可以工作。

In [25]: df = DataFrame([[1+2j],[2-1j]],columns=list('A'))

In [26]: df
Out[26]:
A
0 (1+2j)
1 (2-1j)

In [27]: df['A'] = df['A'].apply(str).str.replace('\(|\)','')

In [28]: df
Out[28]:
A
0 1+2j
1 2-1j

In [29]: df.to_csv('test.csv')

In [30]: !cat test.csv
,A
0,1+2j
1,2-1j

关于python - 从复数中删除括号 - Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924908/

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