Python pandas在列等于valu的特定行中将dataframe写入CSV

2024-03-29 02:09:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有我的算法和代码。它可以工作,但会将数据帧写入输出CSV文件中的整个列。我只想将数据帧写入列等于某个值的行。这里是6号线。剩下的逻辑,语法似乎没问题。我研究了一些选项,包括sort_values()、apply()、map()、lambda、编写if语句。这似乎是一个简单的解决方案,但我无法将数据帧写入特定的行和列组合。如果以前有人问过这个问题,请告诉我答案。在

谢谢。在

输出文件-第1行

df_Working_File = pd.read_csv('Working\WF.csv')

输入文件-第2行

df_GSTRemoved = pd.read_csv('Working\GSTRemoved.csv')

Concat for vlookup基本上在输出文件中-第3行

df_OriginalKey = df_GSTRemoved.apply(lambda x:x['Origin'] + x['Destination'],1)

输入文件中vlookup的Concat-第4行

df_Key = df_Working_File.apply(lambda x:x['Origin'] + x['Destination'],1)

要写入的列数据集的值-第5行

df_Charge_Per_Item = df_GSTRemoved['500g']

第6行-我想将数据帧写入输入文件中原点为GL的所有行的第9列

df_Working_File.apply(df_Charge_Per_Item, df_Working_File['Origin'] == 'GL')

第7行-写入没有索引列的csv

df_Working_File.to_csv("Working/writetoCSV.csv", index=False)


Tags: 文件csv数据lambdadfreadorigindestination
1条回答
网友
1楼 · 发布于 2024-03-29 02:09:47

您可以使用布尔变量来编写数据帧的子集,例如:

# boolean vector:
selector = df_Working_File['Origin'] == 'GL'
# write only rows to csv where the vector is true:
df_Working_File[selector].to_csv("Working/writetoCSV.csv", index=False)

如果您还想只写某些列,可以使用以下命令:

^{pr2}$

顺便说一句,你也可以像这样连接列:

df_OriginalKey = df_GSTRemoved.Origin + df_GSTRemoved.Destination

编辑

如果只想更改/编辑满足特定条件的行,可以执行以下操作:

 selector = df_Working_File['Origin'] == 'GL'
 df_Working_File.ix[selector, 'column_to_change'] = 'changed value'

我希望能帮上忙。在

相关问题 更多 >