gpt4 book ai didi

python - 如何将数据从文本操作为 CSV

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:53 25 4
gpt4 key购买 nike

我有这样的文本文件 data.txt:

Name male  female
bayu 1 0
jonson 1 0
anna 0 1

我已经尝试使用 pandas python 转换这个文件

import pandas as pd
df = pd.read_fwf('data.txt')
df.to_csv('data.csv')

我想得到这样的结果 data.csv:

Gender name
bayu male
jonson male
Anna Female

我该怎么办?

最佳答案

只需替换和重命名即可完成..

数据框:

>>> df
Name female male
0 bayu 0 1
1 jason 0 1
2 anna 1 0

结果:

>>> df.replace({ 0: "male", 1: "Female"}).drop(columns={'male'}).rename(columns={'female': 'Gender'})
Name Gender
0 bayu male
1 jason male
2 anna Female

将数据帧保存到 csv..

>>> df = df.replace({ 0: "male", 1: "Female"}).drop(columns {'male'}).rename(columns={'female': 'Gender'})
>>> df.to_csv('data.csv', index=False)

您的 CSV 将如下所示,以逗号分隔 ..

$ cat data.csv
Name,Gender
bayu,male
jason,male
anna,Female

或者,只需使用 idxmaxdf.assign 将值一起分配回 nw 列。

>>> df.assign(Gender = df[['male','female']].idxmax(axis=1)).drop(columns={'male', 'female'})
Name Gender
0 bayu male
1 jason male
2 anna female

2) 另一种创建函数然后使用 apply 方法的方法。

 def setval(col):
col = str(col)
if col.startswith('0'):
return 'Male'
if col.startswith('1'):
return 'Female'


>>> df.assign(Gender = df[ 'female'].apply(setval)).drop({"female", "male"}, axis=1)
Name Gender
0 bayu Male
1 jason Male
2 anna Female

3) 为了子孙后代..

您可以创建一个字典,然后将字典映射到其中一个列,使用 df.assign 进一步删除不需要的列,将新值分配给新列。

在这里,您可以随意使用mapreplace 方法..

>>> newVal = {0:'Male', 1: 'Female'}   # dictionary paired with key, values

a) 在下面的示例中,axis=1 表示使用较新方法的列。

>>> df.assign(Gender=df.female.map(newVal)).drop({'male', 'female'},axis=1)
Name Gender
0 bayu Male
1 jason Male
2 anna Female

b) 而在下面的示例中,我们明确提到它应用于旧方法的列。

>>> df.assign(Gender=df.female.map(newVal)).drop(columns={'male', 'female'})
Name Gender
0 bayu Male
1 jason Male
2 anna Female

.replace

>>> df.assign(Gender=df.female.replace(newVal)).drop({'male', 'female'},axis=1)
Name Gender
0 bayu Male
1 jason Male
2 anna Female

关于python - 如何将数据从文本操作为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57506849/

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