需要帮助使用 pandas 读取列并打印 .csv 文件中的新列
Need help using pandas to read a column and print a new column in .csv file
我正在尝试使用 pandas 读取 excel 文件中的列并使用我的输入打印新列。我正在尝试将 3 个字母的代码转换为 1 个字母的代码。到目前为止,我已经编写了这段代码,但是当我 运行 它时,它不会在最后一列中打印任何内容。
import pandas as pd
df = pd.read_csv (r'C:\Users\User\Documents\Research\seqadv.csv')
print (df)
codes = []
for i in df['WT_RESIDUE']:
if i == 'ALA':
codes.append('A')
if i == 'ARG':
codes.append('R')
if i == 'ASN':
codes.append('N')
if i == 'ASP':
codes.append('D')
if i == 'CYS':
codes.append('C')
if i == 'GLU':
codes.append('E')
print (codes)
codes = df ['MUTATION_CODE']
df.to_csv(r'C:\Users\User\Documents\Research\seqadv3.csv')
写入:
df['MUTATION_CODE'] = codes
执行此操作的方法是使用替换值定义字典,然后在现有列上使用 map()
或 replace()
来创建新列。两者的区别在于
replace()
不会更改不在字典键中的值
map()
将用字典的默认值(如果有)或 NaN(如果字典没有默认值)替换任何不在字典键中的值
df = pd.DataFrame(data={'WT_RESIDUE':['ALA', 'REMARK', 'VAL', 'CYS', 'GLU']})
codes = {'ALA':'A', 'ARG':'R', 'ASN':'N', 'ASP':'D', 'CYS':'C', 'GLU':'E'}
df['code_m'] = df['WT_RESIDUE'].map(codes)
df['code_r'] = df['WT_RESIDUE'].replace(codes)
In: df
Out:
WT_RESIDUE code_m code_r
0 ALA A A
1 REMARK NaN REMARK
2 VAL NaN VAL
3 CYS C C
4 GLU E E
更详细的信息在这里:Remap values in pandas column with a dict
我正在尝试使用 pandas 读取 excel 文件中的列并使用我的输入打印新列。我正在尝试将 3 个字母的代码转换为 1 个字母的代码。到目前为止,我已经编写了这段代码,但是当我 运行 它时,它不会在最后一列中打印任何内容。
import pandas as pd
df = pd.read_csv (r'C:\Users\User\Documents\Research\seqadv.csv')
print (df)
codes = []
for i in df['WT_RESIDUE']:
if i == 'ALA':
codes.append('A')
if i == 'ARG':
codes.append('R')
if i == 'ASN':
codes.append('N')
if i == 'ASP':
codes.append('D')
if i == 'CYS':
codes.append('C')
if i == 'GLU':
codes.append('E')
print (codes)
codes = df ['MUTATION_CODE']
df.to_csv(r'C:\Users\User\Documents\Research\seqadv3.csv')
写入:
df['MUTATION_CODE'] = codes
执行此操作的方法是使用替换值定义字典,然后在现有列上使用 map()
或 replace()
来创建新列。两者的区别在于
replace()
不会更改不在字典键中的值map()
将用字典的默认值(如果有)或 NaN(如果字典没有默认值)替换任何不在字典键中的值
df = pd.DataFrame(data={'WT_RESIDUE':['ALA', 'REMARK', 'VAL', 'CYS', 'GLU']})
codes = {'ALA':'A', 'ARG':'R', 'ASN':'N', 'ASP':'D', 'CYS':'C', 'GLU':'E'}
df['code_m'] = df['WT_RESIDUE'].map(codes)
df['code_r'] = df['WT_RESIDUE'].replace(codes)
In: df
Out:
WT_RESIDUE code_m code_r
0 ALA A A
1 REMARK NaN REMARK
2 VAL NaN VAL
3 CYS C C
4 GLU E E
更详细的信息在这里:Remap values in pandas column with a dict