我正在尝试在数据框中组合字符串。数据框如下所示:
0 code text1
1 507489 text2
2 507489 text3
3 506141 text4
4 506141 text5
5 504273 text6
我当前的代码:
import pandas as pd
df = pd.read_csv("location.csv", header=None, delimiter=';', dtype='unicode', nrows=100)
new_header = df.iloc[0]
df = df[1:]
df.columns = new_header
df.groupby('code').agg('->'.join).reset_index()
df.to_csv (r'new_location\export_dataframe.csv', index = False, header=True)
print(df)
但是我没有得到预期的结果。在我期望的情况下,输出看起来与输入相同:
0 code text1
1 507489 text2->text3
2 506141 text4->text5
3 504273 text6
这很新,所以我必须犯一些简单的错误。
产生相同结果的数据框:
testf = {'code': ['1','2','2','4'],
'text': [22000,25000,27000,35000]
}
df = pd.DataFrame(testf, columns = ['code', 'text'])
答案 0 :(得分:2)
似乎您忘记了分配回去,也被header=None
中的read_csv
删除了,因为文件中的标题是用于DataFrame中列名称的标题:
import pandas as pd
df = pd.read_csv("location.csv", sep=';', dtype='unicode', nrows=100)
df = df.groupby('code').agg('->'.join).reset_index()
print (df)
code text1
0 504273 text6
1 506141 text4->text5
2 507489 text2->text3
df.to_csv (r'new_location\export_dataframe.csv', index = False)